postgresql pgsql最新版安装指南及数据存储路径更改及主从配置
postgresql pgsql最新版安装指南及数据存储路径更改及主从配置
安装指南
首先在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
更新对应远程pg的repo的key
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
更新本地的list
sudo apt-get update
安装PGSQL
sudo apt-get install postgresql
PGSQL更改数据的存储路径
找到配置文件查看原来的数据存储路径在哪
sudo find / -name postgresql.conf
一般是在/etc/postgresql/9.6/main/postgresql.conf
停掉PGSQL
sudo service postgresql stop
拷贝原来的数据路径到新的路径下
sudo cp -rf /var/lib/postgresql/9.6/main/ /data/postgresql/
设置用户和权限
sudo chown -R postgres:postgres /data/postgresql/
sudo chmod 700 /data/postgresql/
将配置文件的数据存储路径改成新的
sudo vim /etc/postgresql/9.6/main/postgresql.conf
再启动就行了
sudo service postgresql start
PGSQL主从配置
修改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
创建一个超级用户来专门负责让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
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
- 配置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最新版安装指南及数据存储路径更改及主从配置的更多相关文章
- windows mysql数据存储路径更改
背景:之前服务器磁盘很小,随着数据量的不断增加,磁盘不够,所以新申请了更大的磁盘,然后需要将旧路径下的数据迁移到新磁盘上. 1.任务管理器-打开服务,找到mysql的启动项,停止服务,属性查看可执行文 ...
- mysql数据库存储路径更改 数据文件位置
使用了VPS一段时间之后发现磁盘空间快满了.本人的VPS在购买的时候买了500gb的磁盘,提供商赠送了20GB的高性能系统磁盘.这样系统就有两个磁盘空间了.在初次安装mysql 的时候将数据库目录安装 ...
- mysql修改默认数据存储路径
1.先关闭mysql服务 可cmd--services.msc进入关闭服务 或cmd命令输入net stop mysql57关闭服务 2.进入C:\ProgramData\MySQL\MySQL Se ...
- mysql修改数据存储路径报错处理
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'解决?: >>> vim ...
- mysql 数据库存储路径更改
使用了VPS一段时间之后发现磁盘空间快满了.本人的VPS在购买的时候买了500gb的磁盘,提供商赠送了20GB的高性能系统磁盘.这样系统就有两个磁盘空间了.在初次安装mysql 的时候将数据库目录安装 ...
- postgresql使用文档之一 初始化数据存储区
17.2. 创建一个数据库集群(Database Cluster) 在你能做任何事情之前,你必须在磁盘上初始化一块存储空间.我们称这为一个数据库集群(database cluster). 一个Data ...
- 更改mysql数据存储路径
1.检查mysql数据库存放目录 mysql -u root -prootadmin show variables like '%dir%'; quit; (查看datadir 那一行所指的路径) 2 ...
- 【转载】变更MySql数据存储路径的方法
1.在mysql安装目录下找到my.ini文件,更改#Path to the database root datadir="希望存放数据的地址" 2.将默认存放路径(一般为&quo ...
- Unity数据存储路径总结
一.在项目根目录中创建Resources文件夹来保存文件.可以使用Resources.Load("文件名字,注:不包括文件后缀名");把文件夹中的对象加载出来.注:此方可实现对文件 ...
随机推荐
- hibernate优化笔记(随时更新)
一:优化配置 1.关联映射的配置:对照之前的博客,如:inverse属性的设置(减少对同一对象的多条update语句):在one端设置为true,只会执行一次update语句 2.级联cascade属 ...
- thinkphp添加数据
<?php namespace Admin\Controller; use Think\Controller; class MainController extends Controller { ...
- G:首页调用“图片视频”的分类和文章(难点)
1:后台获取:自定义分类的ID (默认分类也可获取) 2:动态获取"自定义分类的ID($cat)" $cat_title = single_cat_title(' ', f ...
- asp.net core输出中文乱码的问题
摘要 在学习asp.net core的时候,尝试在控制台,或者页面上输出中文,会出现乱码的问题. 问题重现 新建控制台和站点 public class Program { public static ...
- Sql Server随机取数据
select top 10 * from tablename order by NEWID()
- 网络第二节——AFNworking
/** 要使用常规的AFN网络访问 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; ...
- mysql怎么查询一条记录的前一条记录和后一条记录
上一条:select * from 表 where 数据id<@当前显示数据id order by 数据_id asc) limit 1下一条:select * from 表 where 数据i ...
- telnet 传输文件
用python创建个临时服务器,发送文件供telnet访问 import socket import base64 port = 10005 filename = 'libcrypto.so.1.0. ...
- vue2/vuex2的那点坑
说是坑,其实大部分是我们自己的过错! vuex官方demo在1.0可以运行,在2.0报错?此类问题,应该很常见吧? 还有顺溜的利用1.0搭建的webpack编译环境到了vue2.0突然失效了,报错了? ...
- 转载请注明出处: https://github.com/qiu-deqing/FE-interview
转载请注明出处: https://github.com/qiu-deqing/FE-interview Table of Contents generated with DocToc FE-inter ...