postgresql12主从

PostgreSql+Pgpool-II配置高可用集群(超详细) 首先,我们必须学习如何在使用复制之前安装和配置 Pgpool-II 和数据库节点。 阅读详情

链接

https://www.cnblogs.com/ExMan/p/11247163.html
https://blog.youkuaiyun.com/weixin_46396833/article/details/112790600
https://www.cnblogs.com/hxlasky/p/12208561.html
https://www.cnblogs.com/zhoujie/p/pgsql.html 操作命令

原文链接

https://blog.youkuaiyun.com/zxfmamama/article/details/121008549
https://blog.youkuaiyun.com/weixin_39540651/article/details/106122610

一、方案

1.1 方案效果

流复制数据同步: 通过postgresql数据库配置来实现
虚拟ip自动切换: 通过pgpool-ii 配置实现
数据库主备角色切换: 通过pgpool-ii 监测机 + 执行 postgresql 中的promote命令来实现

  1. 某一个 postgresql 数据库挂掉 (多台数据库启动后 其中一台作为主机,其余作为备机 构成一个数据库集群);
    (1). 如果是主机primary,集群检测到挂掉会通过配置的策略重新选一个备机standby切换为主机primary, 整个集群仍旧保证可用, 当原主机恢复服务后, 重新作为一个新备机standby,同步完数据后加入集群
    (2). 如果是备机standby,对整个集群无可见影响, 当备机恢复服务后,从主库同步完数据后,恢复正常状态加入集群;

  2. 某一台机器上的pgpool-ii 程序挂掉;
    pgpool-ii 是一个介于postgresql 服务器和postgresql数据库之间的中间件, 提供了链接池(Connection Pooling),看门狗(WatchDog),复制,负载均衡,缓存等功能(具体的可以查看官方文档);
    通过pgpool-ii 维护的虚拟ip, 向外界提供一个始终可用的访问地址, 屏蔽掉具体的主机数据库地址概念;
    通过pgpool-ii 程序来自动处理宕机后相关方案。
    (1). 监测每个pgpool-ii进程的状态, 监测到挂掉之后,及时"切换"虚拟ip所在的主机以保证可用性(有些人叫IP漂移);
    (2). 整个集群始终对外提供一个唯一的,可用的虚拟IP 来提供访问;
    (3). 监测每个主机postgresql数据库的状态, 以即使切换数据库的主备角色;

  3. 某一台主机直接宕机;
    (1). 当pgpool-ii监测主机挂掉之后, 需要进行数据库角色的切换和ip的切换两个操作(如果需要)

1.1 主机配置

主从系统IP安装软件
主CentOS Linux release 7.9.2009192.168.8.10Postgresql 12.3 + pgpool-ii 4.1
从CentOS Linux release 7.9.2009192.168.8.20Postgresql 12.3 + pgpool-ii 4.1
从CentOS Linux release 7.9.2009192.168.8.30Postgresql 12.3 + pgpool-ii 4.1
VIP192.168.8.33通过一个虚拟的IP统一对外提供访问

二、安装

2.1 postgresql-12安装(3台机器均安装)

2.1.1 yum在线安装

#yum源
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
#安装(这里是版本为12的postgresql)
sudo yum install -y postgresql12-server
systemctl stop firewalld
systemctl disable firewalld

2.1.2 rpm离线安装

具体安装参考https://blog.youkuaiyun.com/zxfmamama/article/details/121008549

mkdir /opt/rpm/
curl -O http://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/postgresql12-12.3-1PGDG.rhel7.x86_64.rpm
curl -O http://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/postgresql12-contrib-12.3-1PGDG.rhel7.x86_64.rpm
curl -O http://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/postgresql12-libs-12.3-1PGDG.rhel7.x86_64.rpm
curl -O http://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/postgresql12-server-12.3-1PGDG.rhel7.x86_64.rpm
# 上传文件到服务器之后, 执行安装命令
rpm -ivh postgresql*.rpm

执行完安装之后(查看状态可跳过, 直接进行数据库初始化):

会帮我们创建一个postgresql-12服务, 此时未进行数据库初始化, 还无法访问.
会帮我们创建一个postgres/postgres 的用户,密码相同.
此时使用systemctl status postgresql-12 查看服务状态:
● postgresql-12.service - PostgreSQL 12 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-12.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: https://www.postgresql.org/docs/12/static/

我们可以找到默认配置文件地址: /usr/lib/systemd/system/postgresql-12.service

如果cat命令查看配置文件, 我们可以得到一些基础信息:
数据库数据目录: Environment=PGDATA=/var/lib/pgsql/12/data/
postgresql安装目录: PGHOME=/usr/pgsql-12/

2.1.3 源码安装(本人使用)

mkdir /opt/tar
yum install -y vim lrzsz tree wget gcc gcc-c++ make readline-devel readline zlib-devel zlib ncurses-devel
wget http://ftp.postgresql.org/pub/source/v12.3/postgresql-12.3.tar.gz
tar -zxf postgresql-12.3.tar.gz
cd postgresql-12.3
./configure --prefix=/usr/local/postgresql
make && make install

#创建data和log目录
mkdir /usr/local/postgresql/log
mkdir /usr/local/postgresql/data


#配置环境变量
cat << eof >> /etc/profile
export PGHOME=/usr/local/postgresql
export PGDATA=/usr/local/postgresql/data
export PATH=\$PATH:\$HOME/.local/bin:\$HOME/bin:\$PGHOME/bin
eof
source /etc/profile

#添加用户并授权
useradd postgres
chown -R postgres:root /usr/local/postgresql/

#初始化数据库
注意:不能在 root 用户下初始数据库,否则会报错
su postgres
/usr/local/postgresql/bin/initdb -D /usr/local/postgresql/data/

输出以下信息表示成功
###
[postgres@localhost postgresql]$ /usr/local/postgresql/bin/initdb -D /usr/local/postgresql/data/
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "zh_CN.UTF-8".
The default database encoding has accordingly been set to "UTF8".
initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8"
The default text search configuration will be set to "simple".

Data page checksums are disabled.

fixing permissions on existing directory /usr/local/postgresql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default timezone ... Asia/Shanghai
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

    /usr/local/postgresql/bin/pg_ctl -D /usr/local/postgresql/data/ -l logfile start
###

启停及基本使用参阅
https://blog.youkuaiyun.com/martinlinux/article/details/121364635

三、配置

3.1 配置开启远程连接

cd /usr/local/postgresql/data
cp postgresql.conf postgresql.conf-bak
cp pg_hba.conf pg_hba.conf-bak

vim postgresql.conf
listen_addresses = '*'
port = 5432

vim pg_hba.conf
# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     trust
host    replication     all             127.0.0.1/32            trust
host    replication     all             ::1/128                 trust
加入以下一行
host    all             all             0.0.0.0/0               md5

3.2 启动并修改密码

postgres用户启动
pg_ctl start -l /usr/local/postgresql/log/pg_server.log -D /usr/local/postgresql/data/

登录
psql -U postgres
ALTER USER postgres WITH PASSWORD 'postgres'  #设置postgres用户密码为postgres

3.3 postgresql-12 流复制配置

3.3.1 流复制原理简述

流复制讲解链接:https://blog.youkuaiyun.com/weixin_39540651/article/details/106122610
流复制大约是从pg9版本之后使用, 流复制其原理为:备库不断的从主库同步相应的数据,并在备库apply每个WAL record,这里的流复制每次传输单位是WAL日志的record。(关于预写式日志WAL,是一种事务日志的实现)
1.事务commit后,日志在主库写入wal日志,还需要根据配置的日志同步级别,等待从库反馈的接收结果。
2.主库通过日志传输进程将日志块传给从库,从库接收进程收到日志开始回放,最终保证主从数据一致性。

PostgreSQL通过wal日志来传送的方式有两种:基于文件的日志传送和流复制。
不同于基于文件的日志传送,流复制的关键在于“流”,所谓流,就是没有界限的一串数据,类似于河里的水流,是连成一片的。因此流复制允许一台后备服务器比使用基于文件的日志传送更能保持为最新的状态。
比如我们有一个大文件要从本地主机发送到远程主机,如果是按照“流”接收到的话,我们可以一边接收,一边将文本流存入文件系统。这样,等到“流”接收完了,硬盘写入操作也已经完成。

3.3.2 流复制同步级别

PostgreSQL通过配置synchronous_commit (enum)参数来指定事务的同步级别。我们可以根据实际的业务需求,对不同的事务,设置不同的同步级别。

synchronous_commit = off # synchronization level; # off, local, remote_write, or on

remote_apply:事务commit或rollback时,等待其redo在primary、以及同步standby(s)已持久化,并且其redo在同步standby*(s)已apply。
off 表示commit 时不需要等待wal 持久化。
local 表示commit 是只需要等待本地数据库的wal 持久化。
remote_write 表示commit 需要等待本地数据库的wal 持久化,同时需要等待sync standby节点wal write buffer完成(不需要持久化)。
on 表示commit 需要等待本地数据库的wal 持久化,同时需要等待sync standby节点wal持久化。

不同的事务同步级别对应的数据安全级别越高,对应的对性能影响也就越大。上述从上至下安全级别越来越低

3.3.3 注意事项

  1. postgresql-12版本不再支持通过recovery.conf的方式进行主备切换,如果数据目录中存在recovery.conf,则数据库无法启动;
  2. 新增 recovery.signal 标识文件,表示数据库处于 recovery 模式;
  3. 新增加 standby.signal 标识文件,表示数据库处于 standby 模式(这个需要重点关注一下);
  4. 以前版本中 standby_mode 参数不再支持;
  5. recovery.conf文件取消, 合并到了postgresql.conf文件中;
  6. 配置中war_level存储级别, postgresql-9.6以后有改变:
等级说明
minimal不能通过基础备份和wal日志恢复数据库
replica9.6新增,将之前版本的 archive 和 hot_standby合并, 该级别支持wal归档和复制
logical在replica级别的基础上添加了支持逻辑解码所需的信息

3.4 配置流复制

3.4.1 创建流复制用户, 提供给备库远程访问, 用来获取流(主库配置)
su - postgres

创建目录(所有节点)
# postgres
su - postgres
mkdir  /usr/local/postgresql/archivedir

psql #登录
#创建repuser用户,用户备库访问主库
postgres=# create role repuser login replication encrypted password 'repuser';
CREATE ROLE
postgres=# \q
3.4.2 修改pg_hba.conf配置文件
cd /usr/local/postgresql/data
vim pg_hba.conf
#加入下边一句
host  replication     repuser        0.0.0.0/0             md5
3.4.3 修改postgresql.conf配置文件
cd /usr/local/postgresql/data
vim  postgresql.conf
archive_mode = on
archive_command = 'cp "%p" "/usr/local/postgresql/archivedir/"'
# 最大连接数,从库的max_connections必须要大于主库的
max_connections = 100       
#参数表明是否等待wal日志buffer写入磁盘再返回用户事物状态信息。默认值是ON,同步流复制模式需要打开。
#但是选择on打开之后从库宕机会影响主库写入。
synchronous_commit = off
# *=all,意思是所有slave都被允许以同步方式连接到master,但同一时间只能有一台slave是同步模式。# 另外可以指定slave,将值设置为slave的application_name即可。
synchronous_standby_names = '*'
#控制wal存储的级别,默认值是最小的(minimal)。解释见目录:3.3.3 注意事项
wal_level = replica
#这个设置了可以最多有几个流复制连接,差不多有几个从,就设置几个
max_wal_senders = 2   
max_replication_slots = 10 
#用于指定pg_wal目录中保存的过去的wal文件(wal 段)的最小数量,以防备用服务器在进行流复制时需要,默认值0。
wal_keep_segments = 16  
#控制流复制超时时间,中断那些停止活动超过指定毫秒数的复制连接。这对发送服务器检测一个后备机崩溃或网络中断有用。设置为0将禁用该超时机制。这个参数只能在postgresql.conf文件中或在服务器命令行上设置。默认值是 60 秒。
wal_sender_timeout = 60s 
max_standby_streaming_delay = 30s # 数据流备份的最大延迟时间
# 多久向主报告一次从的状态,当然从每次数据复制都会向主报告状态,这里只是设置最长的间隔时间
wal_receiver_status_interval = 10s 
hot_standby_feedback = on # 如果有错误的数据复制,是否向主进行反馈

修改完成重载
pg_ctl -D /usr/local/postgresql/data/ reload
3.4.4 从库配置(所有从库配置)
1.清空从库数据存储文件夹
rm -rf /usr/local/postgresql/data/*

2.从主服务器上copy数据到从服务器,这一步叫做“基础备份”
pg_basebackup -h 192.168.8.10 -p 5432 -U repuser -Fp -Xs -Pv -R -D /usr/local/postgresql/data/
-h –指定作为主服务器的主机。
-D –指定数据目录。
-U –指定连接用户。
-P –启用进度报告。
-v –启用详细模式。
-R–启用恢复配置的创建:创建一个standby.signal文件,并将连接设置附加到数据目录下的postgresql.auto.conf。
-X–用于在备份中包括所需的预写日志文件(WAL文件)。流的值表示在创建备份时流式传输WAL。
-C –在开始备份之前,允许创建由-S选项命名的复制插槽。
-S –指定复制插槽名称。

3.此时data目录下会出现standby.signal文件,编辑此文件
vim standby.signal
## 加入
standby_mode = 'on'

4.修改postgresql.conf文件
vim postgresql.conf
#从机信息和连接用户
primary_conninfo = 'host=主节点IP port=5432 user=repuser password=repuser用户的密码'
#说明恢复到最新状态
recovery_target_timeline = latest 
#大于主节点,正式环境应当重新考虑此值的大小
max_connections = 200 
#说明这台机器不仅用于数据归档,还可以用于数据查询
hot_standby = on
#流备份的最大延迟时间
max_standby_streaming_delay = 30s 
#向主机汇报本机状态的间隔时间
wal_receiver_status_interval = 10s 
#如果出现错误复制,向主机反馈
hot_standby_feedback = on

5.启动从库
pg_ctl start -l /usr/local/postgresql/log/pg_server.log -D /usr/local/postgresql/data/

6.登录主库并查询
[postgres@localhost data]$ psql 
psql (12.3)
Type "help" for help.
postgres=# select client_addr,sync_state from pg_stat_replication;
 client_addr  | sync_state 
--------------+------------
 192.168.8.20 | sync
 192.168.8.30 | potential
(2 rows)
postgres=#  \x # 切换垂直显示
Expanded display is on.
postgres=# select * from pg_stat_replication;
postgres=# select * from pg_stat_replication;
-[ RECORD 1 ]----+------------------------------
pid              | 1615
usesysid         | 16384
usename          | repuser
application_name | walreceiver
client_addr      | 192.168.8.20
client_hostname  | 
client_port      | 43536
backend_start    | 2022-01-06 21:32:51.301058+08
backend_xmin     | 496
state            | streaming
sent_lsn         | 0/C000060
write_lsn        | 0/C000060
flush_lsn        | 0/C000060
replay_lsn       | 0/C000060
write_lag        | 
flush_lag        | 
replay_lag       | 
sync_priority    | 1
sync_state       | sync
reply_time       | 2022-01-06 21:33:31.877547+08
-[ RECORD 2 ]----+------------------------------
pid              | 1617
usesysid         | 16384
usename          | repuser
application_name | walreceiver
client_addr      | 192.168.8.30
client_hostname  | 
client_port      | 54644
backend_start    | 2022-01-06 21:32:53.401188+08
backend_xmin     | 496
state            | streaming
sent_lsn         | 0/C000060
write_lsn        | 0/C000060
flush_lsn        | 0/C000060
replay_lsn       | 0/C000060
write_lag        | 
flush_lag        | 
replay_lag       | 
sync_priority    | 1
sync_state       | potential
reply_time       | 2022-01-06 21:33:33.625504+08
3.4.5 验证主从复制
#主创建数据库
psql
postgres=# create database test_repl;
CREATE DATABASE
postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 
 template0 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 test_repl | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 
(4 rows)

#从库查看
psql
postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 
 template0 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 test_repl | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 
(4 rows)
PostgreSQL 12安装及主备配置 安装 1.1.下载PostgreSQL 12安装包 下载地址:https://ftp.postgresql.org/pub/source/ 1.2. 安装依赖包 yum install wget gcc gcc-c++ epel-release llvm5.0 llvm5.0-devel clang libicu-devel perl-ExtUtils-Embed readline readline-devel zlib zlib-devel openssl openssl-devel pam- 阅读详情

相关推荐

PostgreSQL数据库集群部署

的方式区分多个后端。在进行恢复之前,需要确保当前的主服务器的数据库目录/opt/soft/pg_data中存在recovery_1st_stage和pgpool_remote_start两个脚本。配置很简单,就在三台机器的/etc/pgpool-II/pgpool_node_id文件中分别写入0,1,2就可以。从pgpool-II4.0开始,配置文件中的密码可以设置为空,如果密码参数为空,则pgpool-II将首先尝试从pool_passwd参数指定的文件中获取指定用户的密码,然后再使用空密码。

weixin_44228645的博客 6450

pgpool-II + postgressql 集群高可用搭建(保姆级文档)

pgpool-II + postgresql 高可用集群搭建

行者1024 9067

PostgreSQL12主从流复制(实践)

主机:172.21.98.130 从机:172.21.98.131 前面安装按照安装手册实行,并启动主数据服务,从数据库安装好不启动; 在主机上执行; /var/lib/pgsql/12/data/ 修改postgresql.conf wal_level = hot_standby # 这个是设置主为wal的主机 max_wal_senders = 5 # 这个设置了可以最多有几个流复制连接,差不多有几个从,就设置几个 wal_keep_segments = 128 # 设置流复制保留的

weixin_41800819的博客 2296

postgres 数据库搭建集群 (主备模式)

修改配置文件(root用户下操作,将其中的 PGDATA 修改为新的数据目录)/usr/lib/systemd/system/postgresql-12.service。/usr/pgsql-12/bin/postgresql-12-setup 配置文件中的数据存储目录修改。修改环境变量中的数据存储目录 vim /var/lib/pgsql/.bash_profile。pool_hba.conf和之前配置的PostgreSQL中的配置时一样的。从节点的配置只需要修改 8 和 10 对于的IP。

zgl的博客 6485

PostgreSQL12主从流复制(一主两从)

PostgreSQL12主从流复制(一主两从) 一、简介 流复制就是备服务器通过tcp流从主服务器中同步相应的数据,主服务器在WAL记录产生时即将它们以流式传送给备服务器,而不必等到WAL文件被填充。 流复制同步方式有同步、异步两种。 物理复制优点: 物理层面完全一样,是主要的复制方式,类似于Oracle的物理DG。 延迟低,事务执行过程中产生REDO record,实时的在备库apply,事务结束时,备库里面能见到数据。 物理复制的一致性,可靠性高。不必担心数据逻辑层面不一致。 二、基于docker搭

1960

postgresql 12 配置异步主从复制 及灾难时切换

OS: Centos 7,postgresql12 主机: host1, ip : 128.30.14.254 从机: host2, ip: 128.30.14.255 两台机的data目录均为/live/db/data 在host1上进行如下配置 打通主机机ip授权: # TYPE DATABASE USER CIDR-ADDRESS METHOD host replication replica 128.30.14.254/...

rocklee的专栏 756

postgreSQL12 主从

Centos7 安装 postgreSQL1、基础环境2、部署主从2.1 安装postgreSQL2.2 主节点 1、基础环境 1、操作系统:CentOS 7.3 2、PostgreSQL:10.3 3、主节点:192.168.196.129 从节点:192.168.196.130 2、部署主从 2.1 安装postgreSQL 主节点与从节点均安装postgreSQL,安装方法参考: Cento...

zbdaowohao的博客 1183

postgresql 主从配置_使用 Docker 搭建 PostgreSQL 12 主从环境

环境准备:一台安装了Docker的Linux服务器。为了简化演示环境,这里只用一台服务器来演示,通过不同端口来区分。01—创建一个docker bridge 网路用于测试docker network create --subnet=172.18.0.0/24 dockernetworkdocker network ls设置了网段为 172.18.0.0,规划主从库IP端口如下:主库 17...

weixin_29189377的博客 344

postgresql12 主从部署

postgresql12 主从部署 yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm yum install postgresql12 yum install postgresql12-server /usr/pgsql...

qq_35298337的博客 2016

手把手教你用Cadence仿真12bit SAR ADC:从电路图到FFT频谱分析(含Simc 18mmrf工艺文件)

本文详细介绍了使用Cadence仿真12bit SAR ADC的全流程,包括电路搭建、仿真环境配置、瞬态仿真优化及FFT频谱分析。基于Simc 18mmrf工艺文件,提供从电路图到性能验证的实战指南,特别分享工程实践中的排错技巧和优化策略,帮助工程师高效完成ADC设计验证。

weixin_30832405的博客 402

ADS 使用调整器动态调参教程(Tuning)

ADS动态调参教程

weixin_42845306的博客 1万+

postgresql 12主从复制

PostgreSQL 12主从复制 主从复制 基于文件的日志传送 创建一个高可用性(HA)集群配置可采用连续归档,集群中主服务器工作在连续归档模式下,备服务器工作在连续恢复模式下(1台或多台可随时接管主服务器),备持续从主服务器读取WAL文件。 连续归档不需要对数据库表做任何改动,可有效降低管理开销,对主服务器的性能影响也相对较低。 直接从一个数据库服务器移动WAL记录到另一台服务器被称为日志传送,PostgreSQL通过一次一文件(WAL段)的WAL记录传输实现了基于文件的日志传送。 1.日志传送所需

c410425783的博客 1357

小米路由器R1D进阶玩法:MIXBOX工具箱安装与插件管理指南

本文详细介绍了为小米路由器R1D安装MIXBOX工具箱的完整指南。通过开启SSH、执行一键安装脚本,用户可以轻松解锁路由器的进阶功能,如安装离线下载、内网穿透等插件,从而将旧设备转变为强大的家庭网络服务中心。

weixin_29292431的博客 1110

PostgreSQl 12主从流复制及归档配置

大家好,我是小姜。一名落魄的低层运维工程师。上一篇文章说道PostgreSQL 12 的源码部署,这里我们说一下PostgreSQl 12的主从流复制和归档配置。主从复制的两种形式1) 基于文件的日志传送创建一个高可用性(HA)集群配置可采用连续归档,集群中主服务器工作在连续归档模式下,备服务器工作在连续恢复模式下(1台或多台可随时接管主服务器),备持续从主服务器读取WAL文件。连续归档不需要对数据库表做任何改动,可有效降低管理开销,对主服务器的性能影响也相对较低。直接从一个数据库服务器移动WAL记录到另一

wanger5354的博客 893

Calibre电子书阅读器个性化样式定制指南

本文详细介绍了如何通过Calibre电子书阅读器的用户样式表功能进行深度个性化样式定制。从修改全局字体、行距、背景配色(包括深色/浅色模式)到美化代码块、引用等特殊元素,本指南提供了完整的CSS代码示例与实战技巧,帮助用户打造专属的舒适阅读环境,显著提升电子书阅读体验。

vv45678的博客 920

微信小程序 - 最新获取用户昵称 / 头像(wx.getUserProfile 接口被废弃后的代替方案)详细教程,2022 年之后的所有微信小程序,获取用户信息最新详细教程,附带示例源代码

微信小程序wx.getUserProfile接口废了用什么代替,微信小程序wx.getUserProfile不能用了怎么办,wx.getUserProfile失效有什么替代方案吗,微信新规定头像昵称填写最新教程,目前微信小程序最新获取用户头像昵称教程,微信小程序用户头像昵称获取规则调整公告,2022改版后的微信小程序如何获取用户头像和昵称信息,微信小程序官方废弃getUserProfile后如何实现获取用户信息,微信小程序wx.getUserProfile接口返回了默认头像昵称,微信小程序获取用户信息不

🏆 前端领域优质创作者 2万+

PostgreSQL12主从复制——CentOS 7

PostgreSQL12主从复制——CentOS 7简要描述前置主节点配置从节点 简要描述 PostgreSQL12配置主从复制的步骤 前置 已安装PostgreSQL12 建议源码包安装PostgreSQL12 主节点配置 创建用户# 访问数据库(此处为本地访问) psql # 创建具有复制流操作的用户(postgres=#) CREATE ROLE replica login repli...

宸睿的博客 1691

VCS NLP 低功耗验证系列(六):功耗分析与优化——SAIF 报告与验证效率提升

本文是VCS NLP低功耗验证系列的第六篇,主要解决功耗数据采集和验证效率优化问题。文章首先介绍了SAIF(Switching Activity Interchange Format)文件在功耗分析中的作用,详细讲解了VCS的Region-Based SAIF功能,包括三个关键系统任务($saif_region_create、$saif_region_exclude、$saif_region_monitor)的使用方法和工程实践建议。接着从编译侧、运行侧和方法学侧三个维度提出了NLP验证效率优化策略,特别强

元直的博客 470

postgresql主从备份_使用 Docker 搭建 PostgreSQL 12 主从环境

环境准备:一台安装了Docker的Linux服务器。为了简化演示环境,这里只用一台服务器来演示,通过不同端口来区分。01—创建一个docker bridge 网路用于测试docker network create --subnet=172.18.0.0/24 dockernetworkdocker network ls设置了网段为 172.18.0.0,规划主从库IP端口如下:主库 17...

weixin_39665787的博客 634

基于STM32L4XX、HAL库的MCP4561数字电位器驱动程序设计

/ HAL库需要左移一位。* @param address: 设备地址(0x2C-0x2F)* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hmcp: MCP4561句柄。* @param hi2c: I2C句柄。

zhusl6688的博客 339

【硬刚Hadoop】HADOOP MAPREDUCE(1):概述

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的Hadoop部分补充。 1 MapReduce定义 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。 2MapReduce优缺点 2.1 优点 1)MapReduce易于编程 它简单的实现一些接口,就可以完成一个分布式程序..

微信搜:import_bigdata,大数据领域硬核原创作者 462

PostgreSQL 12 主从流复制部署

Centos7部署PostgreSQL 12 主从流复制

weixin_44499403的博客 1623

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

PostgreSQL12 主從安裝

VirtualBox 網路卡種類 11月 05, 2016 軟體:VirtualBox官方文件 簡介:各種網卡特性 1.Network Address Translation (NAT) 由 VirtualBox 的 NAT Engine 做為中介,類似 router Guest的請求傳遞 NAT Engine,然後利用 Host 進行對外的連接 返回的數據包再由 NAT Engine 傳給 Guest Host 可以上網,Guest 就可以上網 Guest 之間不能互 ping ...

andrewkao882的博客 2604

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

PostgreSQL 12 主从集群安装教程

PostgreSQL 12 主从集群安装教程 去发现同类优质开源项目:https://gitcode.com/ 本文档提供了PostgreSQL 12版本主从集群安装的详细步骤。按照以下步骤,您可以从单个PostgreSQL数据库顺利搭建至主从集群结构。 简介 该教程为用户提供了一种简便的方法来部署PostgreSQL 12的主从复制集群。通过复制本教程中的命令并在Linux系统中执行,用户可以逐...

gitblog_06797的博客 286

postgresql 12配置主从备份注意事项

如题,最近尝试配置postgresql的主从模式,尝试了很久,终于成功了,现将配置过程中遇到的问题做如下总结: 版本: 12.8 系统:centeros 所引用的博客 CentOS PostgreSQL 12 主从复制(主从切换) 问题1: pg_basebackup 指令出问题: pg_basebackup -h 主节点IP -p 5432 -U replica -Fp -Xs -Pv -R -D /var/lib/pgsql/12/data 报错,不能识别 -R 指令,把-R删除后报错“unsuppo

黄亚的博客 1429

Postgresql12搭建主从

postgresql12 搭建主从

weixin_40762852的博客 1733
上一篇: gitpython安装以及操作
下一篇: Postgresql12+Pgpool-ii 4.1高可用集群
TimeRovers
博客等级 码龄8年 11粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值