在阅读的过程中有任何问题,欢迎一起交流
QQ:1494713801
一、建立数据库连接
----------------
接入Postgresql数据库: psql -hIP地址 -p 端口 -U 数据库名
之后会要求输入数据库密码
二、访问数据库
1、列举数据库:\l
2、选择数据库:\c 数据库名
3、查看该某个库中的所有表:\dt
4、切换数据库:\c interface
5、查看某个库中的某个表结构:\d 表名
6、查看某个库中某个表的记录:select * from apps limit 1;
7、显示字符集:\encoding
8、退出psgl:\q
三、dump数据库
命令:pg_dump -h IP地址 -p 端口 -U 数据库用户名 -f目标存储文件及路径 目标数据库名
参数:
# -h: Postgresql服务器的主机为192.168.149.137。
# -U: 登录用户为postgres。
# -t: 导出表名以test开头的数据表,如testtable。
# -a: 仅仅导出数据,不导出对象的schema信息。
# -f: 输出文件是当前目录下的my_dump.sql
实例:
# mydatabase是此次操作的目标数据库。
/> pg_dump -h 192.168.149.137 -U postgres -t test* -a -f ./my_dump.sql mydatabase
#-c: 先输出删除数据库对象的sql命令,在输出创建数据库对象的sql命令,这对于部署干净的初始系统或是搭建测试环境都非常方便。
/> pg_dump -h 192.168.220.136 -U postgres -c -f ./my_dump.sql mydatabase
#导出mydatabase数据库的信息。在通过psql命令导入时可以重新指定数据库,如:/> psql -d newdb -f my_dump.sql
/> pg_dump -h 192.168.220.136 -U postgres -f ./my_dump.sql mydatabase
#导出模式为my_schema和以test开头的数据库对象名,但是不包括my_schema.employee_log对象。
/> pg_dump -t 'my_schema.test*' -T my_schema.employee_log mydatabase > my_dump.sql
#导出east和west模式下的所有数据库对象。下面两个命令是等同的,只是后者使用了正则。
/> pg_dump -n 'east' -n 'west' mydatabase -f my_dump.sql
/> pg_dump -n '(east|west)' mydatabase -f my_dump.sql
四、恢复dump的数据库
命令:psql -h IP地址 -p 端口 -U 数据库用户名 -d 目标数据库名 -f 目标存储文件及路径
参数:
# -h: Postgresql服务器的主机为192.168.149.137。
# -U: 登录用户为postgres。
# -f: 输出文件是当前目录下的my_dump.sql
五、压缩dump数据库及其恢复
压缩dump:pg_dump -h IP地址 -p 端口 -U 数据库用户名 -f目标存储文件及路径 -Fc 目标数据库名
恢复:pg_restore -h IP地址 -p 端口 -U 数据库用户名 -Fc -d 目标数据库名 目标存储文件及路径
附:压缩dump后文件大小会缩小10倍
执行sql命令:select count(*) from pg_database where datname like 'db%';
参考http://www.cnblogs.com/stephen-liu74/archive/2012/06/01/2307813.html
原文链接:https://www.f2er.com/postgresql/195464.html