PG 数据备份

                                         PG 数据备份

 
===============无fc参数的明文文档,用psql恢复
备份
 pg_dump  -h 主机地址  -U username      数据库   >   备份数据库.dmp   
恢复方法
createdb -h localhost -U username  -E unicode   新数据库名字
psql  -h localhost -U username    -d  新数据库名字   <  备份数据库.dmp
 
-h 一般用本机127.0.0.1   
 
 
 
=============数据库开启日志功能  192.168.1.116 的数据库用户名和密码为 user:oepnerp      password: oepnerp
logging_collector = on
 
============pgsql 忘记密码
1、在linux命令行下执行命令
sudo -u postgres psql
2、在postgresql控制台中执行命令:
postgres=# ALTER USER postgres WITH ENCRYPTED PASSWORD 'password';
出现ALTER ROLE的提示即表示密码修改成功。
注意:一定要加ENCRYPTED关键字,而且语句末尾要有分号。 
 
========================
 

split 命令允许你 你用下面的方法把输出分解成操作系统可以接受的大小。 比如,让每个块大小为 1 兆字节:

pg_dump dbname | split -b 1m - filename
用下面命令恢复:

createdb dbname
cat filename* | psql dbname

使 用客户化转储格式. 如果PostgreSQL是在一个安装了zlib 压缩库的系统上制作的,那么客户化转储格式将在写入输出文件的时候压缩数据。 它会生成和使用 gzip 类似大小的转储文件,但是还附加了一个优点:你可以有选择地恢复库中的表。 下面的命令用客户化转储格式转储一个数据库:

pg_dump -Fc dbname > filename
客户化格式的转储不是脚本,不能用于 psql, 而是需要使用 pg_restore 转储。 请参考 pg_dump 和 pg_restore 的手册获取细节。

备份:pg_dump -h localhost -p 5432 -U tradesns -W -F c -b -v -f "/home/tradeworkwangbin/us2010.backup" us2010
恢复:pg_restore -h 192.168.0.100 -p 5432 -U postgres -W -d us2011 -v "/root/us2010.backup"

PS:“-d us2011 ”中的“us2011 ”数据库需要事先建立,不然会报错。

原文地址:https://www.cnblogs.com/alangwansui/p/3021713.html