zoukankan      html  css  js  c++  java
  • postgresql pgsql最新版安装指南及数据存储路径更改及主从配置

    postgresql pgsql最新版安装指南及数据存储路径更改及主从配置

    安装指南

    1. 首先在apt的list添加你当前系统版本对应的apt列表
      目前官网有16.04,14.04,12.04 分别对应下面的xenial,xenial,precise
      sudo vim /etc/apt/sources.list.d/pgdg.list
      根据对应系统复制下面的repo到pgdg.list中,
      deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main
      deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main
      deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main

    2. 更新对应远程pg的repo的key
      wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

    3. 更新本地的list
      sudo apt-get update

    4. 安装PGSQL
      sudo apt-get install postgresql

    PGSQL更改数据的存储路径

    1. 找到配置文件查看原来的数据存储路径在哪
      sudo find / -name postgresql.conf
      一般是在/etc/postgresql/9.6/main/postgresql.conf

    2. 停掉PGSQL
      sudo service postgresql stop

    3. 拷贝原来的数据路径到新的路径下
      sudo cp -rf /var/lib/postgresql/9.6/main/ /data/postgresql/

    4. 设置用户和权限
      sudo chown -R postgres:postgres /data/postgresql/
      sudo chmod 700 /data/postgresql/

    5. 将配置文件的数据存储路径改成新的
      sudo vim /etc/postgresql/9.6/main/postgresql.conf

    6. 再启动就行了
      sudo service postgresql start

    PGSQL主从配置

    1. 修改postgresql.conf
      sudo vim /etc/postgresql/9.6/main/postgresql.conf
      listen_addresses = '*'
      wal_level = replica
      max_wal_senders = 2
      wal_keep_segments = 64
      hot_standby = on

    2. 创建一个超级用户来专门负责让standby连接去拖WAL日志
      create user replica superuser password '1234';
      将添加的用户添加到hba的配置中
      sudo vim /etc/postgresql/9.6/main/pg_hba.conf
      host replication replica 1.1.1.1 md5

    3. pg_basebackup 创建备库
      使用postgres用户创建备库
      pg_basebackup -D /data/postgresql/ -Fp -Xs -v -P -h 1.1.1.1 -p 5432 -U replica
      备库创建成功之后修改hba配置文件:
      sudo vim /etc/postgresql/9.6/main/pg_hba.conf
      添加以下的内容:
      host all all 0.0.0.0/0 trust
      host replication repuser master md5

    4. 配置recovery.conf

    • master端
      sudo cp /usr/share/postgresql/9.6/recovery.conf.sample /data/postgresql/recovery.done
      sudo vim /data/postgresql/recovery.done
      修改以下的配置项
      recovery_target_timeline = 'latest'
      standby_mode = on
      primary_conninfo = 'host=slave.ip port=5432 user=repuser password=repuser'
      trigger_file = '/home/postgres/data/trigger_file'

    • slave端
      sudo cp /usr/share/postgresql/9.6/recovery.conf.sample /data/postgresql/recovery.conf
      sudo vim /data/postgresql/recovery.conf
      修改以下的配置项
      recovery_target_timeline = 'latest'
      standby_mode = on
      primary_conninfo = 'host=master.ip port=5432 user=repuser password=repuser'
      trigger_file = '/home/postgres/data/trigger_file'

    主从配置基本步骤到这就结束了。
    如果进入从库遇到psql: FATAL: the database system is starting up的问题只需要修改一下从库的配置文件postgresql.conf,设置standby=on就可以了。

  • 相关阅读:
    Python自定义web框架、Jinja2
    Django初探(模板渲染、模板语音、simple_tag、母版子版、静态配置文件)
    多线程 threading
    python操作mysql
    sql 汉字转首字母拼音
    添加sql server约束
    NFS,Memcached,Tokyo tyrant实现session共享性能测试
    让Editplus自动格式化js、css、html。。。
    sql server中利用sql语句如何创建角色和用户
    asp网站文件夹权限设置
  • 原文地址:https://www.cnblogs.com/cutd/p/6253423.html
Copyright © 2011-2022 走看看