我正在try 创建一个cronjob,在灾难发生之前每天晚上备份我的数据库.看起来这个命令应该满足我的需要:

0 3 * * * pg_dump dbname | gzip > ~/backup/db/$(date +%Y-%m-%d).psql.gz

除了运行之后,它希望我输入密码.如果我从cron运行它,我就做不到.我怎样才能自动通过一个?

推荐答案

pg_dump将作为其运行的帐户的主目录中创建一个.pgpass文件.

格式为:

hostname:port:database:username:password

然后,将文件的模式设置为0600.否则,它将被忽略.

chmod 600 ~/.pgpass

有关更多详细信息,请参阅Postgresql文档libpq-pgpass.

Postgresql相关问答推荐

带有regex表达式的Postgres SQL

此PostgreSQL汇总分组不适用于窗口表达式

如何创建一个触发器来传播对主键表的更新?

未更改表上的 Postgres 环绕预防

gorm 创建并返回值 many2many

Regexp_replace 行为会改变,如果它用空白字符串或 null 替换字符串数组中的字符串

转换数组类型

sql:转换参数 $1 类型:不支持的类型 []int,in 的一部分

postgresql查询中的正则表达式不区分大小写

更新列或列或列时触发触发

如何从 WSL 连接到 windows postgres 数据库

更详细地解释 JOIN 与 LEFT JOIN 和 WHERE 条件性能建议

如何在构建时链接 docker 容器?

在 Spring Boot 应用程序中禁用表重新创建

在 PostgreSQL 中的表上禁用 DELETE?

如何启动 Postgres 服务器?

如何使用 WITH RECURSIVE 子句进行 Select

大型查询后 psycopg2 泄漏内存

使用 Postgres 在 Rust 的 Diesel 库中添加时间戳

Postgresql 对象 ID 和元组