PostgreSQL 学习笔记
PostgreSQL 学习笔记

PostgreSQL 学习笔记

数据库的备份与恢复

备份( 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