关于postgresql多备的信息

求解postgreSQL的增量备份。

这个应该不是脚本能够解决的,如果可以,希望楼上同志能赐教。

新会网站建设公司成都创新互联,新会网站设计制作,有大型网站制作公司丰富经验。已为新会近1000家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的新会做网站的公司定做!

个人了解,PostgreSQL目前还没有实现真正的增量备份功能,楼主关心的话可以可在pg 9的原文档中查一下。目前 pg自带的备份功能,还是 主要以 pg_dump 的逻辑备份 ,以及PITR物理备份,这两个目前都没有实现增量。楼主还是要根据自己的需求来判断一下 ,数据量不是很大的情况下,PITR全量的备份还是能够接受的,一般生产数据20G左右,基本在10-20分钟就能完成一次全量备份(不过这个与生产数据,环境机器配置也有关系,楼主不一定相信,可以拿自己模拟一定量的生产数据试试)。

postgreSQL 备份库

cd到postgresql/bin目录下:

备份数据库:

pg_dump -h localhost -U greenerp greenerp greenerp_140224.bak

恢复数据库:

psql -h localhost -U greenerp -d greenerp greenerp_140311.bak

如何建立基于RDS PostgreSQL的备库

准备备库环境安装64位Linux安装与RDS PostgreSQL大版本一致的PostgreSQL软件空间规划

申请一个replication角色的用户

配置外网地址(可选)

配置白名单,测试连通性正常

下载全量备份集,测试归档的下载接口是否正常

配置postgresql.conf, recovery.conf

启动备库,检查是否同步

postgresql如何备份数据库

postgresql中可以使用pg_dump来备份数据库。pg_dump是用于备份PostgreSQL数据库的工具。它可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问。

用法:

pg_dump [选项]... [数据库名字]

一般选项:

-f, --file=FILENAME output file or directory name

-F, --format=c|d|t|p output file format (custom, directory, tar, plain text)

-v, --verbose 详细模式

-Z, --compress=0-9 被压缩格式的压缩级别

--lock-wait-timeout=TIMEOUT 在等待表锁超时后操作失败

--help 显示此帮助信息, 然后退出

--versoin 输出版本信息, 然后退出

示例:

备份数据库,指令如下:

pg_dump -h 164.82.233.54 -U postgres databasename C:databasename.bak

开始-运行-cmd 弹出dos控制台;然后 在控制台里,进入PostgreSQL安装目录bin下:

cd C:Program FilesPostgreSQL9.0bin

最后执行备份指令:

pg_dump -h 164.82.233.54 -U postgres databasename C:databasename.bak

指令解释:

pg_dump 是备份数据库指令,164.82.233.54是数据库的ip地址(必须保证数据库允许外部访问的权限哦~),当然本地的数据库ip写 localhost;

postgres 是数据库的用户名;databasename 是数据库名。

意思是导出到C:databasename.bak文件里,如果没有写路径,单单写databasename.bak文件名,那么备份文件会保存在C: Program FilesPostgreSQL9.0bin 文件夹里。

推荐学习《Python教程》。

postgresql 怎么备份数据库

PostgreSQL自带一个客户端pgAdmin,里面有个备份,恢复选项,也能对数据库进行备份 恢复(还原),但最近发现数据库慢慢庞大的时候,经常出错,备份的文件过程中出错的几率那是相当大,手动调节灰常有限。所以一直寻找完美的备份恢复方案。

梦里寻他千百度,伊人却在灯火阑珊处...其实PostgreSQL内置不少的工具,寻找的备份恢复方案就在其中:pg_dump,psql。这两个指令 在数据库的安装目录下,比如我自己本地安装的,路径形如:C:\Program Files\PostgreSQL\9.5\;然后进入到bin文件夹,会看到不少的exe文件,这就是PostgreSQL内置的工具了。里面会找到 pg_dump.exe,psql.exe两个文件。我们怎么用他们?

用法:

备份数据库,指令如下:

pg_dump -h 164.82.233.54 -U postgres databasename C:\databasename.bak

开始-运行-cmd 弹出dos控制台;然后 在控制台里,进入PostgreSQL安装目录bin下:

cd C:\Program Files\PostgreSQL\9.0\bin

最后执行备份指令:

pg_dump -h 164.82.233.54 -U postgres databasename C:\databasename.bak

指令解释:如上命令,pg_dump 是备份数据库指令,164.82.233.54是数据库的ip地址(必须保证数据库允许外部访问的权限哦~),当然本地的数据库ip写 localhost;postgres 是数据库的用户名;databasename 是数据库名。 意思是导出到C:\databasename.bak文件里,如果没有写路径,单单写databasename.bak文件名,那么备份文件会保存在C: \Program Files\PostgreSQL\9.0\bin 文件夹里。

恢复数据库,指令如下:

psql -h localhost -U postgres -d databasename C:\databasename.bak(测试没有成功)

pg_restore.exe --host localhost --port 5432 --username "postgres" --dbname "symbolmcnew" --no-password --verbose "databasename.backup"(测试成功)

指令解释:如上命令,psql是恢复数据库命令,localhost是要恢复到哪个数据库的地址,当然你可以写上ip地址,也就是说能远程恢复(必须保证 数据库允许外部访问的权限哦~);postgres 就是要恢复到哪个数据库的用户;databasename 是要恢复到哪个数据库。 的意思是把C:\databasename.bak文件导入到指定的数据库里。

以上所有的是针对windows而言的,如果在linux下,会不会有效?

在linux里依然有效。有一个值得注意的是:如果直接进入PostgreSQL的安装目录bin下,执行命令,可能会出现 找不到pg_dump,psql的现象,我们在可以这样:

备份:

/opt/PostgreSQL/9.5/bin/pg_dump -h 164.82.233.54 -U postgres databasename databasename.bak

恢复:

/opt/PostgreSQL/9.5/bin/psql -h localhost -U postgres -d databasename databasename.bak


标题名称:关于postgresql多备的信息
转载源于:http://myzitong.com/article/dscoeoo.html