数据库的备份与恢复
备份(
pg_dump 命令) : 用
pg_dump 命令进行备份,参数说明:- 连接参数:
-h host:指定连接的数据库主机地址。-p port:指定连接的数据库的端口号。-d dbname:指定要备份的数据库名称。-
-U username:指定连接数据库时使用的用户名。 -W:在命令行中提示输入密码,通常与-U一起使用。
- 备份对象参数:
-n schema指定备份特定模式下的对象t table指定备份特定表-T table排除备份特定表
- 备份选项:
-a--data-only仅备份数据-s--schema-only仅备份架构 (DDL)-c--clean恢复之前清除 (drop)现有对象-C--create恢复之前创建数据库
- 其他选项:
-v--verbose显示详细备份进度-j num指定备份工作进程数量-Fc:指定输出文件的格式。Fc表示使用自定义格式,这是一种二进制格式,可以提供更快速的备份和恢复,并且支持压缩。-Z level压缩参数,level可以是 0 ~ 9,数字越大压缩比越高-Fp纯文本格式,可查看、编辑,文件较大-Fd平面文本格式,目录形式,各个对象单独文件,更好的性能和压缩比-Ft自由格式备份文件,可以兼容 PostgreSQL 不同版本,文件较大-f filename:指定备份文件的名称。
数据恢复:
pg_restore 命令:- 连接参数:
-h,--host=HOSTNAME:指定连接的数据库主机地址。-p,--port=PORT:指定连接的数据库的端口号。-U,--username=USERNAME:指定连接数据库时使用的用户名。-d,--dbname=DBNAME:指定要恢复的目标数据库名称。
- 恢复选项:
-c,--clean:在恢复之前清除(drop)现有对象。-C,--create:在恢复之前创建数据库。-j,--jobs=NUM_JOBS:指定并行恢复的工作进程数量。-e,--exit-on-error:在遇到错误时立即退出恢复过程。-O,--no-owner:在恢复时不恢复对象的所有者信息。-x,--no-privileges:在恢复时不恢复对象的权限信息。-n,--schema=SCHEMA:指定要恢复的模式。-t,--table=TABLE:指定要恢复的表。-L,--use-list=FILENAME:使用包含要恢复的对象列表的文件进行恢复。-N,--exclude-schema=SCHEMA:排除指定的模式。
- 备份文件选项:
-f,--file=FILENAME:指定备份文件的路径。-F,--format=c|d|t:指定备份文件的格式(custom,directory,tar)。
- 其他选项:
-v,--verbose:显示详细的恢复进度信息。-q,--quiet:禁止显示额外的消息。
psql 命令:psql -h host -p port -U username -d dbname提示符下的常用命令:
\dulist roles
\llist databases
\dtlist tables
\qquit
\c dbnameconnect database
\i filename执行文件中的命令
create role with xxx
alter role with xxx