最重要的是保持工作流程:
创建备份
A. 使用--format=custom
[-Fc
]创建备份文件,以便使用pg_restore
进行恢复。
## for pg_restore
pg_dump -v -Fc \
postgresql://<user>:<pass>@<host>:<port>/<dbname> \
> db-20211122-163508.sql
B. 如果版本不支持pg_restore
(PostgreSQL 9.0.23),请删除-Fc
并添加--clean
[-c
],然后使用psql
进行恢复。
## for psql
pg_dump -v -c \
postgresql://<user>:<pass>@<host>:<port>/<dbname> \
> db-20211122-163508.sql
注意:现在,我们添加了一个连接字符串postgresql://<user>:<pass>@<host>:<port>/<dbname>
,并用我们的真实信息替换了<user>
、<pass>
、<host>
、<port>
和<dbname>
。
恢复
A. 使用pg_restore
恢复备份,我们将使用--clean
[-c
] 和 --create
[-C
] 在恢复之前删除数据库。
pg_restore -vcC \
-U <user> \
-h <host> \
-p <port> \
-d <dbname> \
< db-20211122-163508.sql
B. 使用 psql
恢复数据库时不需要任何特殊选项,只需记得在 pg_dump
命令中添加 --clean
[-c
] 选项。
psql -v \
-U <user> \
-h <host> \
-p <port> \
-d <dbname> \
< db-20211122-163508.sql
注意:现在,请用您的信息替换<user>
,<host>
,<port>
和<dbname>
。