PostgreSQL的pg_dump测试

发布于:2024-08-20 ⋅ 阅读:(147) ⋅ 点赞:(0)

PostgreSQL的pg_dump测试

使用到的参数,更多的参数可以通过pg_dump --help查看。

-h host,指定数据库主机名,或者IP
-p port,指定端口号
-U user,指定连接使用的用户名
-W,按提示输入密码
-d,指定连接的数据库名称,实际上也是要备份的数据库名称。
-a,–data-only,只导出数据,不导出表结构
-t table,–table=table,只转存匹配到的表,视图,序列,可以使用多个-t匹配多个表
-d 指定数据库主机名
-f 指定输出文件名,导出的数据将保存到该文件中

1 导出单表数据(表结构+数据)

例子:导出 数据库white下schema yewu1 的t1表

导出
pg_dump -h 192.168.10.99 -U postgres -p 5777 -W -d white -t yewu1.t1 > /home/pg16/tmp_20240819/bak.sql


导入(如果不存在schema yewu1,则需先手动创建)
psql -U postgres -W -d white -f /home/pg16/tmp_20240819/bak.sql

2 导出多表数据(表结构+数据)

例子:导出 数据库white下schema yewu1 的t1和t2表

导出
pg_dump -h 192.168.10.99 -U postgres -p 5777 -W -d white -t yewu1.t1 -t yewu1.t2 > /home/pg16/tmp_20240819/bak_2.sql

导入(如果不存在schema yewu1,则需先手动创建)
psql -U postgres -W -d white1 -f /home/pg16/tmp_20240819/bak_2.sql

3 导出单个schema(表结构+数据)

例子:导出 数据库white下schema yewu1
导出
pg_dump -h 192.168.10.99 -U postgres -p 5777 -W -d white -n yewu1 > /home/pg16/tmp_20240819/bak_3.sql

导入到数据库white(如果不存在数据库white,则需先手动创建)
psql -U postgres -W -d white -f /home/pg16/tmp_20240819/bak_3.sql

4 导出多个schema(表结构+数据)

例子:导出 数据库white下schema yewu1和yewu2
导出
pg_dump -h 192.168.10.99 -U postgres -p 5777 -W -d white -n yewu1 -n yewu2 > /home/pg16/tmp_20240819/bak_4.sql

导入到数据库white(如果不存在数据库white,则需先手动创建)
psql -U postgres -W -d white -f /home/pg16/tmp_20240819/bak_4.sql

5 导单个库(表结构+数据)

例子:导出 数据库white
导出
pg_dump -h 192.168.10.99 -U postgres -p 5777 -W -d white > /home/pg16/tmp_20240819/bak_5.sql

导入(需要先创建一个空库)
--先创建一个空库
Create database white;

--导入
psql -U postgres -W -d white -f /home/pg16/tmp_20240819/bak_5.sql