Для однолінійного типу, наприклад, для переміщення бази даних, ви можете використовувати --dbname
рядок з'єднання (включаючи пароль), як зазначено в посібнику pg_dump
По суті.
pg_dump --dbname=postgresql://username:password@127.0.0.1:5432/mydatabase
Примітка. Переконайтеся, що ви використовуєте опцію --dbname
замість коротшої -d
та використовуєте дійсний префікс URI, postgresql://
або postgres://
.
Загальна форма URI така:
postgresql://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]
Найкраща практика у вашому випадку (повторюване завдання в кроні) цього не слід робити через проблеми безпеки. Якби не .pgpass
файл, я збережу рядок з'єднання як змінну середовища.
export MYDB=postgresql://username:password@127.0.0.1:5432/mydatabase
то майте у своєму кронтабі
0 3 * * * pg_dump --dbname=$MYDB | gzip > ~/backup/db/$(date +%Y-%m-%d).psql.gz