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