Linux备份/还原postgresql数据库

一、备份
1.切换到postgres用户

$ sudo su - postgres

2.根据需求不同,选取不同的备份方式

(1).备份数据库(包含创建数据库)

$ pg_dump -C db_name > db_bak.sql

(2).备份数据库内容(不包含创建数据库)

$ pg_dump db_name > db_content_bak.sql

(3).备份schema(命名空间/模式)和数据(包含创建schema)

$ pg_dump -n "schema_name" db_name > schema_bak.sql

(4).备份表和数据(包含建表)

$ pg_dump -t "schema_name.table_name" db_name > table_bak.sql

(5).备份表内数据(不包建表语句)

$ pg_dump -a -t "schema_name.table_name" db_name > table_content_bak.sql

二、恢复
1.切换到postgres用户

$ sudo su - postgres

2.恢复数据
(1).恢复数据库及其内容(数据库不存在)

$ psql -e < db_bak.sql

(2).恢复数据库内容(数据库必须已存在,且库中不存在备份文件中将要的创建的对象)

psql -e db_name < bak.sql

3.免去交互输入密码

PGPASSWORD=123456 psql -U username -e db_name < bak.sql

版权声明:本文为CSDN博主「蘑菇猎手」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/DongGeGe214/article/details/82050433

posted @ 2022-07-06 19:17  GEGEWU-  阅读(1327)  评论(0)    收藏  举报