postgresql导入导出 pg_dump的教程

作者:袖梨 2022-06-29

导出

参数介绍

用 pg_dump 就可以, pg_dump后面跟要导出的数据库

-U 指定用户
-f 指定导入哪个文件
-t 指定只导出哪个表
-h 从哪个服务器导出
--password 说明需要输入密码
-s 只导出表结构就加上这个

例子

只导出表结构

-s 参数用来控制是否只导出表结构

pg_dump -s -h 135.33.2.36 monitor -U monitor --password -f monitor_struct.dump

远程导出

pg_dump wuguan -U wuguan -f wuguan.sql -h 42.96.204.146 --password

本地导出

本地导出就不用加上 h

pg_dump -s  hold -U hold --password -f hold.dump

指定端口导出

需要指定端口就加上 p

pg_dump -s  -h highwe.net -p 5433 hold -U hold --password -f hold_c.dump

指定表导出

查出哪些表要导

select '-t '||tablename from pg_tables where tableowner='monitor' and tablename not like 'log%' and tablename not like 'his%'

加上 t 来导出即可

pg_dump monitor -U monitor -t all_tuxedo_mon -t tuxedo_mon -t vc_file -t bsn_tmp -t host_info -t webservice -t webservice_detail_mon -t sys_user -t sys -t client -t bss_org -t vc_detail -t user_info -t sys_log -t client_not_need -t process_index -t vc_feecard -t client_bak -t pid_mon_20130303 -t file_mon_20130303 -t process_mon -t process -t all_process_mon -t pid_mon_bak_20130321 -t threshold -t user_mon_bak_2013_05 -t warning_relation -t client_20130530 -t vc_monitor -t itsm_modify_mon -t base_mon -t client_20130513 -t all_cpu_mon -t cpu_mon -t mem_mon -t all_mem_mon -t sr_net_mon -t all_sr_net_mon -t all_disk_mon -t disk_mon -t all_oracle_mon -t oracle_mon -t sr_net_mon_bak -t all_tablespace_mon -t tablespace_mon -t tbs_mon -t all_pid_mon -t pid_mon -t all_warning -t all_file_mon -t warning -t file_mon -t removed_warning -t all_user_mon -t user_mon -t all_net_mon -t net_mon -t all_oracle_user_mon -t oracle_user_mon -f monitor.sql.20130604

导入

psql 就可以了, 本机不用指定密码

-d 指定数据库
-U 指定用户
-f 指定导出的文件
-h 指定服务器
--password 说明需要输入密码
本机

psql -d yemai -U yemai -f yemai.sql
psql -d hold -U hold -f .sql

远程

psql -h 135.33.2.36 -d monitor -U monitor --password -f tmp.dump

也可以用

#psql datebasename < data.sql

远程

pg_dump -h 135.33.2.36 monitor -U monitor -p 5432 --password  -f monitor.sql
pg_dump -h djoin.net redmine -U redmine -p 5432 --password  -f redmine.sql
pg_dump -h portal-bigzhu.dotcloud.com template1 -U root -p 14458 --password  -f database.sql

pg_dump -h 135.32.9.99 itsm -U postgres -p 5432 --password  -f itsm.sql

pg_dump -h djoin.net monitor -U monitor -f monitor.dump

pg_dump -t base_mon -h djoin.net monitor -U monitor --password -f tmp.dump
pg_dump -t base_mon -h 135.33.2.36 monitor -U monitor --password -f tmp.dump

pg_dump -h 135.32.9.98 -T 'all_app_mon*' -T 'removed_warning' -T '*bak*' -T '*his*' -T 'his*' -T 'log*'  monitor -U monitor -F c -b -v -f "./monitor_db_20140411.bak"

导入数据库

psql -h 135.33.2.36 -d monitor -U monitor -f tmp.dump

psql -d monitor -f monitor.sql
psql portal -U bigzhu --password -f portal.sql
psql -d bigzhu -f bigzhu.sql
psql -d monitor -f monitor.sql

psql -d monitor -h djoin.net -U monitor -f client.sql
psql -d monitor -h djoin.net -U monitor -f sys
也可以用 #psql datebasename < data.sql

二进制

导入

pg_restore -U monitor -W -d monitor -v "./monitor_db_20140325.bak"
nohup pg_dump monitor -h 135.33.2.36 -p 5432 -U monitor -F c -b -v -f "./monitor_db_20130923.bak"  &
nohup pg_dump monitor -U monitor -F c -b -v -f "./monitor_db_20131121.bak"  &
no dump some table

nohup pg_dump -T 'his*' monitor -h 135.33.2.36 -p 5432 -U monitor -F c -b -v -f "./monitor_db_20130923.bak"   &
pg_dump -T 'his*' -T 'log*' -T 'vc_detail' monitor -U monitor -F c -b -v -f "./monitor_db_20131209.bak"
pg_dump -T 'his*' -T 'log*' -T 'vc_detail' monitor -U monitor -F c -b -v -f "./monitor_db_20140311.bak"
pg_dump -T 'his*' -T 'log*' -T 'vc_detail' monitor -U monitor -F c -b -v -f "./monitor_db_20140325.bak"
pg_dump -T 'his*' -T 'log*' -T 'vc_detail' monitor -U monitor -F c -b -v -f "./monitor_db_20140519.bak"

相关文章

精彩推荐