Linux备份/还原postgresql数据库

点击查看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

你可能感兴趣的:(数据库,linux,运维)