PostgreSQL -- 备份恢复命令
在PostgreSQL中,使用pg_dump
和psql
命令进行数据库的备份与恢复。
备份命令:
pg_dump -U username -h hostname -p port -W -F format -b -v -f output_file_path dbname
-U username
是PostgreSQL的用户名。-h hostname
是服务器的主机名(可选,如果是在本地可以省略)。-p port
是服务器的端口号(可选,默认是5432)。-W
表示在执行备份前要求输入密码。-F format
是备份文件的格式(可以是c
(自定义格式)、t
(tar格式)或者p
(纯文本SQL脚本))。-b
表示包括二进制数据。-v
表示详细模式,打印更多输出信息。-f output_file_path
是备份文件的存储路径。dbname
是要备份的数据库名。
恢复命令:
psql -U username -h hostname -p port -W -d dbname -f input_file_path
-U username
是PostgreSQL的用户名。-h hostname
是服务器的主机名(可选,如果是在本地可以省略)。-p port
是服务器的端口号(可选,默认是5432)。-W
表示在执行恢复前要求输入密码。-d dbname
是要恢复到的数据库名。-f input_file_path
是备份文件的路径。
例如,如果要备份名为mydb
的数据库到mydb_backup.sql
文件中,并且希望通过mydb_backup.backup
文件恢复到一个新的数据库newdb
中,可以这样做:
备份:
pg_dump -U postgres -h localhost -p 5432 -W -F c -b -v -f mydb_backup.backup mydb
恢复:
psql -U postgres -h localhost -p 5432 -W -d newdb -f mydb_backup.sql
注意:如果是使用tar格式(-F t
),在恢复时通常使用pg_restore
命令替代psql
。
评论已关闭