PostgreSQL的pg_dump测试
使用到的参数,更多的参数可以通过pg_dump --help查看。
bash
-h host,指定数据库主机名,或者IP
-p port,指定端口号
-U user,指定连接使用的用户名
-W,按提示输入密码
-d,指定连接的数据库名称,实际上也是要备份的数据库名称。
-a,--data-only,只导出数据,不导出表结构
-t table,--table=table,只转存匹配到的表,视图,序列,可以使用多个-t匹配多个表
-d 指定数据库主机名
-f 指定输出文件名,导出的数据将保存到该文件中
1 导出单表数据(表结构+数据)
bash
例子:导出 数据库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 导出多表数据(表结构+数据)
bash
例子:导出 数据库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(表结构+数据)
bash
例子:导出 数据库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(表结构+数据)
bash
例子:导出 数据库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 导单个库(表结构+数据)
bash
例子:导出 数据库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