数据库的备份与恢复
备份(
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
提示符下的常用命令:
\du
list roles
\l
list databases
\dt
list tables
\q
quit
\c dbname
connect database
\i filename
执行文件中的命令
create role with xxx
alter role with xxx