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就可以了。

postgresql pgsql最新版安装指南及数据存储路径更改及主从配置的更多相关文章

  1. windows mysql数据存储路径更改

    背景:之前服务器磁盘很小,随着数据量的不断增加,磁盘不够,所以新申请了更大的磁盘,然后需要将旧路径下的数据迁移到新磁盘上. 1.任务管理器-打开服务,找到mysql的启动项,停止服务,属性查看可执行文 ...

  2. mysql数据库存储路径更改 数据文件位置

    使用了VPS一段时间之后发现磁盘空间快满了.本人的VPS在购买的时候买了500gb的磁盘,提供商赠送了20GB的高性能系统磁盘.这样系统就有两个磁盘空间了.在初次安装mysql 的时候将数据库目录安装 ...

  3. mysql修改默认数据存储路径

    1.先关闭mysql服务 可cmd--services.msc进入关闭服务 或cmd命令输入net stop mysql57关闭服务 2.进入C:\ProgramData\MySQL\MySQL Se ...

  4. mysql修改数据存储路径报错处理

    Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'解决?: >>> vim ...

  5. mysql 数据库存储路径更改

    使用了VPS一段时间之后发现磁盘空间快满了.本人的VPS在购买的时候买了500gb的磁盘,提供商赠送了20GB的高性能系统磁盘.这样系统就有两个磁盘空间了.在初次安装mysql 的时候将数据库目录安装 ...

  6. postgresql使用文档之一 初始化数据存储区

    17.2. 创建一个数据库集群(Database Cluster) 在你能做任何事情之前,你必须在磁盘上初始化一块存储空间.我们称这为一个数据库集群(database cluster). 一个Data ...

  7. 更改mysql数据存储路径

    1.检查mysql数据库存放目录 mysql -u root -prootadmin show variables like '%dir%'; quit; (查看datadir 那一行所指的路径) 2 ...

  8. 【转载】变更MySql数据存储路径的方法

    1.在mysql安装目录下找到my.ini文件,更改#Path to the database root datadir="希望存放数据的地址" 2.将默认存放路径(一般为&quo ...

  9. Unity数据存储路径总结

    一.在项目根目录中创建Resources文件夹来保存文件.可以使用Resources.Load("文件名字,注:不包括文件后缀名");把文件夹中的对象加载出来.注:此方可实现对文件 ...

随机推荐

  1. SpringMVC前后端数据交互总结

    控制器 作为控制器,大体的作用是作为V端的数据接收并且交给M层去处理,然后负责管理V的跳转.SpringMVC的作用不外乎就是如此,主要分为:接收表单或者请求的值,定义过滤器,跳转页面:其实就是ser ...

  2. Arcgis, ArcEngine, Arcgis Server使用开发汇总 索引

    ArcGIS系列软件license及安装: Arcgis SDE10.1 和 Arcgis server10.1的授权文件license tnt_esri.dat Arcgis8.1安装license ...

  3. centos7安装svn1.8.16

    svn下载地址:http://subversion.apache.org/download/ svn要依赖一些包,可以提前装好 yum -y install apr-util apr-util-dev ...

  4. 美团HD(2)-设置导航栏内容

    DJHomeViewController.m #import "DJHomeViewController.h" #import "DJConstantValue.h&qu ...

  5. 如何让vim自动显示函数声明-使用 echofunc.vim插件

    echofunc.vim可以显示函数的declaration, 默认的是针对c/c++, 对于php, 只要 启用了 ctags都可以, 因为echofunc是从tags file中获取数据的... ...

  6. XP安装IIS来加载aspx页面(Web调用SAP数据)

    1,安装IIS 在XP中安装IIS方法很简单,安装时需要提供安装光盘来加载I386文件,可以使用虚拟光驱或光盘.在此做个简单说明(控制面板-添加/删除 Windows组件-勾选Internet信息服务 ...

  7. sql 脚本编写之路 常用语句(一)

    1.用一个表中的某一列更新另外一个表的某些列: for ACCESS 数据库: update a, b set a.name=b.name1 where a.id=b.id for SQL Serve ...

  8. Android常用组件之AutoCompleteTextView

    安卓组件中,凡是需要配置数据的组件,一般都是用Adapter配置. AutoCompleteTextView的使用方法与ListView类似,也是用setAdapter来设置数据. MultiAuto ...

  9. JSP内置对象之request对象【学习笔记】

    request对象是JSP中重要的对象,每个request对象封装着一次用户的请求,并且所有的请求参数都被封装在request对象中,因此request对象是获取请求参数的重要途径. 一.获取请求头与 ...

  10. Javascript设计模式学习三(策略模式)

    定义:定义一系列的算法,把它们一个个封装起来,并且使它们可以互相替换.目的:将算法的使用和算法的实现分离开来.比如: if(input == 'A'){ return 1; } if(input == ...