postgresql数据库备份

一.工具备份数据

打开windows下的命令窗口:开始->cmd->安装数据库的目录->进入bin目录;

导出命令:pg_dump –h localhost –U postgres –p 5432 –d postgres  –f “D:/test.dmp”

-h:服务器地址;

-p:端口号;

-U:这里的“U”要大写,用户身分

-d:数据库名称;

-f:文件输出的目录和名称;

恢复数据:

psql -h localhost -U postgres -d new_db  -f "D:\test.dmp"

二.备份归档

创建 WAL 备份目录,比如:  d:\pg_xlog_archive 1

修改 postgresql.conf 中的 archive_command 设置,比如:      archive_command = ‘copy "%p" d:\\pg_xlog_archive\\%f‘       注:%p 要用双引号括起来处理安装目录中有空格的情况。  archive_mode = on    wal_level=‘archive‘

2   用psql登录数据库服务器,然后执行下面的过程  psql -Ubeigang < beigang_dump.pgdump:      SELECT pg_reload_conf();

3  psql接着执行过程  SELECT pg_start_backup(‘label‘);    注:label 建议使用备份目录的全路径。

4  psql接着执行过程  SELECT pg_stop_backup();

5  检查WAL日志归档目录,有的话就成功了。

恢复:

1,停止数据库

2.删除  data目录

3,恢复备份

jar cvfm classes.jar mymanifest -C foo/ .

4,清空/data/pg_xlog/目录下所有文件

5,创建/pg_xlog/及其下面的archive_status目录

6,在/data/目录下创建recovery.conf

7,启动数据库

三.冷备份

PostgreSQL 冷备份, 指在数据库关机状态下对数据库的数据文件进行的备份

冷备份需要备份的是数据库集群主目录($PGDATA), 表空间目录, 事务日志(pg_xlog)目录.

如果在参数文件中指定了其他目录或文件, 某些也需要备份下来.

还原:环境,数据库版本一致;将上述备份内容替换(先删除)

四 主从复制备份

1.主数据库配置

开数据目录下的postgresql.conf文件然后做以下修改:

  1. listen_address = ‘*’(默认localhost)
  2. wal_level = hot_standby(默认是minimal)
  3. max_wal_senders=2(默认是0)
  4. wal_keep_segments=64(默认是0)
  5. 在主库创建一个超级用户来专门负责让standby连接去拖WAL日志:create user repl superuser password ‘111111‘;
  6. 打开数据目录下的pg_hba.conf文件然后做以下修改: 

2 从数据库配置

pg_basebackup命令行工具在从库上生成基础备份,命令如下:

./pg_basebackup -h 192.168.111.101 -U repl -F p -x -P -R -D /usr/local/postgresql/data/ -l replbackup201611从库数据目录下的postgresql.conf文件,将hot_standby改为启用状态,即hot_standby=on
时间: 2024-08-11 07:38:48

postgresql数据库备份的相关文章

某电商项目PostgreSQL数据库备份恢复方案

某电商项目PostgreSQL数据库备份恢复方案: 下载地址:某电商项目PostgreSQL数据库备份恢复方案

PostgreSQL 数据库备份

PostgreSQL 数据库备份 pg_dump 一.备份还原 注意:命令在pg_dump目录下进行 1.备份test数据库 pg_dump -h 127.0.0.1 -p 5432 -U username -c -f db_back.sql test 2.还原数据到test2数据库 psql -U postgres -f /db_back.sql test2 二.命令详解 基本命令 pg_dump [OPTION]... [DBNAME] 注:数据库名放最后,不指定默认是系统变量PGDATAB

PostgreSQL数据库备份和恢复(脚本方式)

数据库备份: D:\Program Files\PostgreSQL\9.2\bin> pg_dump -h localhost -U postgres -C --column-inserts -f E:/dbname.sql dbname 数据库恢复: D:\Program Files\PostgreSQL\9.2\bin> psql -h localhost -U postgres -f E:/dbname.sql   注:D:\Program Files\PostgreSQL\9.2\b

postgresql数据库备份和恢复(超快)

PostgreSQL自带一个客户端pgAdmin,里面有个备份,恢复选项,也能对数据库进行备份 恢复(还原),但最近发现数据库慢慢庞大的时候,经常出错,备份的文件过程中出错的几率那是相当大,手动调节灰常有限.所以一直寻找完美的备份恢复方案. 梦里寻他千百度,伊人却在灯火阑珊处...其实PostgreSQL内置不少的工具,寻找的备份恢复方案就在其中:pg_dump,psql.这两个指令 在数据库的安装目录下,比如我自己本地安装的,路径形如:C:\Program Files\PostgreSQL\9

恢复PostgreSQL数据库备份至GuassDB 200

gs_restore是GaussDB 200提供的与gs_dump配套的导入工具.通过该工具,可将gs_dump导出的文件导入至数据库.这里通过postgreSQL的pg_dump命令备份数据库,然后通过gs_restore将其恢复到GuassDB 200中. 1.备份PostgreSQL [[email protected] ~]$ pg_dump -Fc -C rhnschema >/var/satellite/bak/pg_rhnschema.dump 2.GuassDB创建对应数据库以及

docker容器中 Postgresql 数据库备份

查看运行的容器: docker ps 进入目标容器: docker exec -u root -it 容器名 /bin/bash docker 中,以root用户,创建备份目录,直接执行如下命令, pg_dump -h localhost -p 5432 -U odoo xxx(数据库名) > /数据库dump备份文件目录/export_XXX(数据库名)_bak_2018xxx.dmp 稍等一会,耐心等待,在备份目录下的dump文件导出完成. 根据数据文件大小不同,备份所需时间也不同,一般du

12 postgresql数据库备份和恢复

数据表结构备份与恢复 备份 1.找到postgres 安装目录,在找到bin文件夹,会看到一堆exe后缀的文件,用win+r 打开cmd,将pg_dump.exe 拖进cmd黑窗口中 2.基本语法:-h  代表地址 (远程连接用,本地导出无需此项) -U 代表用户  -d 代表数据库  -s 代表存储位置 注:1.-s > 后,不写完整路径的话,存入文件到C盘-用户-Administrator 下 2.不加-s,是整库备份,包括数据,加-s,只导出表结构 恢复 1.找到postgres 安装目录

[完整版]Postgresql 数据库 备份以及恢复的过程

0. 准备工作 linux机器上面 必须安装上pg数据库 然后 需要将 pg的主程序目录 放到环境变量里面去 便于执行命令. 1. 先备份 1. 备份目标数据库: pg_dump -h 10.24.193.25 -U postgres -p 5432 -F c -f /TestPG/TestDS0816.dmp TestDS0816 # -h 小写 指向目标服务器 # -U 大写 使用的用户 # -p 小写 pg 数据库使用的端口. # -F 指代导出格式. c 只的就是 自定义的pg_dump

开源数据库Postgresql的备份和恢复

最近工作上使用的数据库一直是Postgresql,这是一款开源的数据库,而且任何个人可以将该数据库用于商业用途.在使用Postgresql的时候,让我最明显的感觉就是这数据库做的真心好,虽然说数据库的安装包真的很小,但是性能和操作的便捷是一点也不输给其他商业的大型数据库,另外在命令行界面下对该数据库直接进行操作的感觉真的是很爽.在使用数据库的时候,我们作为小公司的数据库管理员有一项工作是不可能避免的,那就是数据的备份和恢复问题.PostgreSQL虽然各个方面的有点很多,但是在数据库备份这方面,