Skip to content

PostgreSQL 操作与命令 ​

连接数据库与检查结构 ​

psql inspect · 连接并检查 PostgreSQL;反斜线命令在 psql 内执行 ​

  • 连接并交互输入密码:
bash
psql -h {{host}} -p {{5432}} -U {{user}} -d {{database}} -W
  • 查看当前连接:
bash
\conninfo
  • 列出指定模式的表:
bash
\dt {{public}}.*
  • 检查表的列与索引:
bash
\d+ {{public.orders}}

导入、导出与备份恢复 ​

pg_dump backup · 将单个 PostgreSQL 数据库导出到本地文件 ​

  • 生成可选项恢复的归档:
bash
pg_dump -h {{host}} -U {{user}} -d {{database}} -Fc -f {{backup.dump}}
  • 仅导出结构:
bash
pg_dump -d {{database}} --schema-only -f {{schema.sql}}
  • 导出指定表;不会自动包含依赖对象:
bash
pg_dump -d {{database}} --table={{public.orders}} -Fc -f {{orders.dump}}
  • 并行导出到尚不存在的目录:
bash
pg_dump -d {{database}} -Fd -j {{4}} -f {{backup_directory}}

pg_restore workflow · 检查归档并恢复到已创建的目标数据库;恢复会写入对象和数据 ​

  • 列出归档内容:
bash
pg_restore --list {{backup.dump}}
  • 生成 SQL 供审阅:
bash
pg_restore --file={{review.sql}} {{backup.dump}}
  • 恢复到空数据库,遇错停止:
bash
pg_restore --exit-on-error --no-owner --dbname={{target_database}} {{backup.dump}}
  • 并行恢复自定义或目录归档:
bash
pg_restore --exit-on-error --jobs={{4}} --dbname={{target_database}} {{backup.dump}}

示例整理自 tldr-pages,作者为 tldr-pages team and contributors,遵循 CC BY 4.0。

继续阅读