一.准备slave库

archive_mode = on ---开启归档模式

archive_command = 'test ! -f /mysqldata/pg/archive_active/%f && cp %p /mysqldata/pg/pgarch/%f' ---指定归档路径

1.1.如果主库上有了自定义表空间,无法使用pg_basebackup
[postgres@mycat02 pgsql_data]$ pg_basebackup -F p --progress -D /data/pgsql_data -h 172.16.10.100 -p 5432 -U repl --password
Password:
pg_basebackup: could not create directory "/data/pgsql_data/pgdata01": File exists
1.2.在命令行下备份

http://blog.itpub.net/7721556/viewspace-1408159/

  • 1.备份文件
pdb1=# select pg_start_backup('baseline');
-[ RECORD 1 ]---+-----------
pg_start_backup | 0/15000028
# 在$PGDATA目录下产生文件
[root@mysql56 pgsql_data]# cat backup_label
START WAL LOCATION: 0/15000028 (file 000000010000000000000015)
CHECKPOINT LOCATION: 0/15000060
BACKUP METHOD: pg_start_backup
BACKUP FROM: master
START TIME: 2018-11-27 15:34:26 CST
LABEL: baseline # 出来shell命令行执行文件打包或者拷贝tar -cf data.tar pgsql_data pdb1=# select pg_stop_backup();
NOTICE: pg_stop_backup complete, all required WAL segments have been archived
-[ RECORD 1 ]--+-----------
pg_stop_backup | 0/15000128
# 停止备份后backup_label文件消失 # 切换归档日志
pdb1=# select pg_switch_xlog();
-[ RECORD 1 ]--+-----------
pg_switch_xlog | 0/170000B8
  • 2.清空日志目录
# 清空/data/pg_xlog/目录下所有文件
rm –r /data/pgsql_data/pg_xlog
# 创建/pg_xlog/及其下面的archive_status目录
mkdir /data/pgsql_data/pg_xlog
mkdir /data/pgsql_data/pg_xlog/archive_status

  • 3.修改postgres.conf配置
max_connections = 200      # 比主库稍大即可
hot_standby = on
max_standby_streaming_delay = 30s
wal_receiver_status_interval = 10s
hot_standby_feedback = on
  • 4.在$PGDATA录下创建recovery.conf
# archive_command = 'test ! -f /mysqldata/pg/archive_active/%f && cp %p /mysqldata/pg/pgarch/%f'
# conf中的命令是将归档日志从/data/pgsql_data/pg_xlog 拷贝到指定目录,类似oracle的archve被copy备份
restore_command = 'cp /mysqldata/pg/pgarch/%f "%p"'

  • 4.如果是作为slave,recovery.conf
standby_mode = on  # 指定为从库
primary_conninfo = 'host=172.16.10.100 port=5432 user=repl password=replica' # 对应的主库信息
recovery_target_timeline = 'latest' # 这个说明这个流复制同步到最新的数据

  • 5.启动数据库
pg_ctl –D /usr/local/pgsql/data/ start
# 修改hot_standby必须重启实例,reload无法载入

流复制-pg_start_backup(带自定义表空间)的更多相关文章

  1. 流复制-pg_basebackup (有自定义表空间)

    一.组成部分 1.walsender进程是用来发送WAL日志记录的 2.walreceiver进程是用来接收WAL日志记录的 3.startup进程是用来apply日志的 二.主库配置 1.授权账号, ...

  2. 流复制-pg_basebackup (没有自定义表空间)

    一.组成部分 1.walsender进程是用来发送WAL日志记录的 2.walreceiver进程是用来接收WAL日志记录的 3.startup进程是用来apply日志的 二.主库配置 1.授权账号, ...

  3. 【HICP Gauss】数据库 数据库管理(连接方式 会话模式 存储表空间)-6

    数据库连接方式:驱动连接和客户端连接 驱动连接 : JDBC GSC ODBC 客户端连接 zsql工具 zsql / as sysdba -q #管理员身份登陆 zsql omm/ - #普通身份登 ...

  4. Oracle架构设计01:表空间的管理维护规范

    Oracle数据库的表空间管理可以说是非常简单和基础的一项维护工作,但是越简单的事情就越要制定统一的规范,这样数据库的各项管理工作才会愈加的简单高效. 那么接下来,问题来了.. Q1:当我们接手一个新 ...

  5. 【Oracle 】tablespace 表空间创建和管理

    1.表空间的概述 1. 表空间是数据库的逻辑组成部分. 2. 从物理上讲,数据库数据存放在数据文件中: 3. 从逻辑上讲,数据库是存放在表空间中,表空间由一个或者多个数据文件组成. 2.oracle的 ...

  6. oracle12c创建用户和表空间出现的问题

    Oracle12c 中,增加了可插接数据库的概念,即PDB,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB).CDB全称为 ContainerDatabase,中文翻译为数据库容器,PDB全 ...

  7. Oracle基础(三) 表空间

    数据库的存储结构 数据库主要用于存储和检索相关的信息,Oracle数据库包含逻辑结构和物理结构. 物理结构是指现实存储单元,由一组文件组成如数据文件.日志文件.控制文件. 数据文件:用于存储数据的文件 ...

  8. 9. InnoDB通用表空间

    9. InnoDB通用表空间 通用表空间是InnoDB 使用CREATE TABLESPACE语法创建的共享表空间.本节中的以下主题描述了常规表空间功能和功能: 通用表空间功能 创建通用表空间 将表添 ...

  9. KingbaseES V8R3集群运维案例之---用户自定义表空间管理

    ​案例说明: KingbaseES 数据库支持用户自定义表空间的创建,并建议表空间的文件存储路径配置到数据库的data目录之外.本案例复现了,当用户自定义表空间存储路径配置到data下时,出现的故障问 ...

随机推荐

  1. Qt 用户通过对话框选择文件

    void class::on_pushButton_clicked() { fileFullPath = QFileDialog::getOpenFileName(this, tr("Sel ...

  2. weblogic创建域

    一.webLogic服务域创建 https://blog.csdn.net/github_38922197/article/details/75097320

  3. linux 二级目录结构

    Linux系统里面目录的顶点都是根 /etc /etc/passwd : Linux用户登陆的文件 /etc/group : 存放Linux用户组的文件 /etc/shadow :存放用户密码的文件 ...

  4. CTO为何要微服务评估

    为什么定义参考模型 之前我的工作,大部分时间都是聚焦在某个产品/团队,为他们提供微服务/DevOps的实施及指导.进入公司后,同时参与了多个产品团队的改造研讨.其中最大的不同在于: 在面对一个团队的时 ...

  5. CentOS配置Tomcat监听80端口,虚拟主机

    2019独角兽企业重金招聘Python工程师标准>>> Tomcat更改默认端口为80 更改的配置文件是: /usr/local/tomcat/conf/server.xml [ro ...

  6. VMware虚拟机中centos6.5网络配置(桥接方式)与宿主机之间通信

    1.修改网络适配器 2.选择桥接所用的网卡 3.设置网络 3.1在系统终端中输入 setup ,进行图形网络配置(此命令只有redhat系列才有作用) 上下左右键选择,enter键确定 将光标移动到U ...

  7. 关于通过Date.getTime()得到1970年01月1日0点零分问题验证

     public static String getTimestamp_1970() throws Exception {   java.text.SimpleDateFormat formater = ...

  8. VUE生命周期中的钩子函数及父子组件的执行顺序

    先附一张官网上的vue实例的生命周期图,每个Vue实例在被创建的时候都需要经过一系列的初始化过程,例如需要设置数据监听,编译模板,将实例挂载到DOM并在数据变化时更新DOM等.同时在这个过程中也会运行 ...

  9. 不可错过的java面试博客之java集合篇

    1. List List 是有序的 Collection.Java List 一共三个实现类: 分别是 ArrayList.Vector 和 LinkedList ArrayList ArrayLis ...

  10. NEON中的vshr vshl vext中的位移参数必须为编译时字面常量

    NEON中的vshr指令中位移数量参数必须为compile time literal constant,因为该参数是被encoded as part pf ARM instruction itself ...