postgresql导入导出
导出pg_dump
- -U 指定用户
- -f 指定导出到哪个文件
- -t 指定只导出哪个表
- -h 从哪个服务器导出
- -s 只导出表结构就加上这个
例子 只导出表结构
pg_dump -U ott -d ott-bms2 -s -f d:\ott-bms2.sql
例子 导出数据库所有数据
pg_dump -U ott -d ott-bms2 -f d:\ott-bms2.sql
例子 导出数据库某些表数据
pg_dump -U ott -d ott-bms2 -t account -t package -f d:\ott-bms2.sql
例子 远程导出
pg_dump -h 172.16.0.101 -d ott-bms -U ott -s --password -p 6543 -f d:\m.sql
注:远程导出要版本兼容
[root@vps172160101 ~]# pg_dump ott-bms2 -h 10.8.72.109 -U ott -f data.sql
Password:
pg_dump: server version: 9.5.4; pg_dump version: 9.1.4
pg_dump: aborting because of server version mismatch
D:\data_bak>pg_dump -h 172.16.0.101 -d ott-bms -U ott -s –password -p 6543 -f d:\m.sql
Password:
pg_dump: server version: 9.6.1; pg_dump version: 9.5.4
pg_dump: aborting because of server version mismatch
导入psql
- -d 指定数据库
- -U 指定用户
- -f 指定导出的文件
- -h 指定服务器
例子 导入本地数据文件
psql -d bms-01 -U root -f d:\d.sql
例子 导入本地数据文件打印日志到文件
psql -d bms-01 -U ott -f d:\d.sql -L d:\log.log >a.log
例子 远程导入
psql -h 10.8.72.109 -d bms-01 -U ott -f d.sql >a.log -L input.log
本地创建数据库
创建语句
create database bms02 with owner=ott;
备份与恢复
库备份
pg_dump -U ott -Fc ott-bms4 > d:\database.bak
库恢复
pg_restore -U ott -d ott-bms2 -Fc d:\database.bak