pg_dump 介绍
pg_dump 是一个用于备份 PostgreSQL 数据库的实用工具。它可以将数据库的内容导出为一个 SQL 脚本文件或其他格式的文件,以便在需要时进行恢复或迁移。
基本用法
pg_dump [选项] [数据库名]
命令选项
-h或--host:指定数据库服务器的主机名或IP地址。-U或-username:指定连接数据库时使用的用户名。-p或--port:指定数据库服务器的端口号。-d或--dbname:指定要导出的数据库名称。-f或--file:指定输出文件的路径。-F或--format:指定导出文件的格式(plain, custom, tar, directory)。-c或--clean:在导入时清理(删除)数据库。-a或--data-only:只导出数据,不导出结构(表定义)。-s或--schema-only:只导出结构,不导出数据。
备份数据库
备份整个数据库到 SQL 文件
sql
pg_dump -U username -h localhost -p 5432 demodatabase -f demodatabase_backup.sql
备份整个数据库到自定义格式文件
sql
pg_dump -U username -h localhost -p 5432 demodatabase -F c -f demodatabase_backup.dump
备份特定表到 SQL 文件
sql
pg_dump -U username -h localhost -p 5432 demodatabase -t demotable -f demotable_backup.sql
恢复数据库
使用 pg_restore 工具可以恢复
sql
pg_restore -U username -h localhost -p 5432 -d demodatabase demodatabase_backup.dump
使用 psql 工具可以恢复纯文本格式备份文件
sql
psql -U username -h localhost -p 5432 -d demodatabase -f demodatabase_backup.sql
