当前位置: 首页 > news >正文

外贸建站wordpress宁波seo公司排名

外贸建站wordpress,宁波seo公司排名,手机上怎么创建自己的网站,wordpress lampPostgreSQL 笔记:PostgreSQL 主从复制 博客地址:TMDOG 的博客 在现代应用程序中,数据库的高可用性和扩展性是至关重要的。PostgreSQL 提供了主从复制功能,可以在多个数据库实例之间复制数据,以实现冗余和负载均衡。本…

PostgreSQL 笔记:PostgreSQL 主从复制

博客地址:TMDOG 的博客

在现代应用程序中,数据库的高可用性和扩展性是至关重要的。PostgreSQL 提供了主从复制功能,可以在多个数据库实例之间复制数据,以实现冗余和负载均衡。本文将介绍如何在 Docker 环境中构建PostgreSQL 主从复制环境。

1. 主从复制原理

PostgreSQL 的主从复制是通过将主服务器的 WAL(Write-Ahead Logging)日志复制到从服务器实现的。以下是主要原理:

  • 预写式日志(WAL): PostgreSQL 使用预写式日志记录事务更改,确保在任何时刻数据的完整性。在执行写入操作之前,系统会将更改先写入 WAL,这样即使发生崩溃,也可以通过 WAL 恢复数据。

  • 主服务器(Master): 负责处理所有写入操作。当数据被写入时,它首先记录到 WAL 中,然后再应用到数据文件。

  • 从服务器(Slave): 被配置为从主服务器接收和应用 WAL 日志,以保持数据一致性。它可以处于热备份状态,随时接收主服务器的更新。

  • 复制角色: 从服务器需要一个具备复制权限的角色(如 repl),通过此角色进行身份验证和连接。

  • 异步与同步复制: PostgreSQL 支持异步和同步复制。异步复制可以提高性能,但主服务器不会等待从服务器确认接收到数据,而同步复制则确保数据在主服务器和从服务器之间一致性。

2. 创建网络环境

首先,我们需要为 PostgreSQL 实例创建一个 Docker 网络,以便它们可以相互通信。

docker network create pg-network

请添加图片描述

3. 创建主服务器

接下来,启动一个 PostgreSQL 主服务器容器。我们将数据存储在宿主机上,以便在容器重启时数据不会丢失。

docker run --network=pg-network --name pgsmaster -p 5500:5432 -e POSTGRES_PASSWORD=123456 -v /var/lib/pgsmaster:/var/lib/postgresql/data -d postgres:16.4

请添加图片描述

4. 创建从属服务器

同样,我们创建一个 PostgreSQL 从属服务器容器。它将用于接收主服务器的数据复制。

docker run --network=pg-network --name pgsslave -p 5501:5432 -e POSTGRES_PASSWORD=123456 -d postgres:16.4

请添加图片描述
请添加图片描述

5. 获取 IP 地址

为了配置主从复制,我们需要获取主从服务器的 IP 地址:

docker inspect pgsmaster | grep IPAddress
docker inspect pgsslave | grep IPAddress

请添加图片描述

6. 配置主服务器

编辑主服务器的 postgresql.conf 文件,添加从属连接信息。使用上一步获取的 IP 地址。

cat >> /var/lib/pgsmaster/postgresql.conf <<-'EOF'
primary_conninfo = 'host=<主服务器IP> port=5432 user=repl password=repl' 
EOF

请添加图片描述

7. 更新 pg_hba.conf

为了允许从属服务器连接到主服务器,我们需要更新 pg_hba.conf 文件:

cat >> /var/lib/pgsmaster/pg_hba.conf <<-'EOF'
host	replication	repl		<从属服务器IP>/32		md5
EOF

请添加图片描述

8. 重启主服务器

重启主服务器以使配置更改生效:

docker restart pgsmaster

9. 进入主服务器容器控制台

现在我们进入主服务器的容器:

docker exec -it pgsmaster /bin/bash

10. 创建复制角色

在从属服务器上,我们需要创建一个角色来处理复制:

psql -U postgres
# 关闭同步提交,从属服务器不会等待主服务器确认数据已写入后再提交事务。
set synchronous_commit = off;
# 创建复制角色
create role repl login replication encrypted password 'repl';
# 查看角色
\du
\q
exit

请添加图片描述

我们看到repl角色,说明创建成功

11. 进入从属服务器

现在我们进入从属服务器的容器:

docker exec -it pgsslave /bin/bash

12. 数据备份

使用 pg_basebackup 从主服务器备份数据:
此次备份是将整个数据库文件从主服务器中备份下来,而不是通过流的形式备份

pg_basebackup -Fp --progress -D /home/opt/postgresql-16.0/data/ -R -h <主服务器IP> -p 5432 -U repl --password

输入密码:repl

请添加图片描述
请添加图片描述

exit退出

13. 复制数据到宿主机

将从属服务器的数据复制到宿主机,以便我们可以在新的从属服务器中使用:

docker cp pgsslave:/home/opt/postgresql-16.0/data/ /var/lib/pgsslave

请添加图片描述

我们查看/var/lib/pgsslave包含完整的数据库文件

请添加图片描述

14. 删除从属服务器

删除旧的从属服务器容器:

docker rm -f pgsslave

15. 使用复制的数据创建新的从属服务器

重新创建从属服务器,使用之前备份的数据:

docker run --network=pg-network --name pgsslave -p 5501:5432 -e POSTGRES_PASSWORD=123456 -v /var/lib/pgsslave:/var/lib/postgresql/data -d postgres:16.4

请添加图片描述

16. 查看从属服务器日志

最后,查看从属服务器的日志,以确保复制正常运行:

docker logs -f pgsslave

我们发现日志中包含“recovery”、“WAL”等字样

请添加图片描述

测试

我们连接两个数据库

请添加图片描述

在主服务器上创建表并插入数据
请添加图片描述
请添加图片描述

我们打开从属服务器发现数据同步了

请添加图片描述

我们想在从属服务器插入数据发现插入失败

请添加图片描述

查看主服务器的复制日志表发现复制记录

请添加图片描述

总结

通过以上步骤,我们成功地在 Docker 中创建了 PostgreSQL 主从复制环境。主从复制不仅提高了数据的可靠性,还可以帮助我们在负载较高时进行负载均衡、实现读写分离增强数据库的吞吐量。


文章转载自:
http://actuation.wsgyq.cn
http://biltong.wsgyq.cn
http://bha.wsgyq.cn
http://athetoid.wsgyq.cn
http://chiromegaly.wsgyq.cn
http://campstool.wsgyq.cn
http://chainsaw.wsgyq.cn
http://accidie.wsgyq.cn
http://ascender.wsgyq.cn
http://azoturia.wsgyq.cn
http://apropos.wsgyq.cn
http://caiaphas.wsgyq.cn
http://affably.wsgyq.cn
http://chlamydia.wsgyq.cn
http://biblicist.wsgyq.cn
http://amusement.wsgyq.cn
http://atacama.wsgyq.cn
http://aggrieve.wsgyq.cn
http://aristocrat.wsgyq.cn
http://canalization.wsgyq.cn
http://apices.wsgyq.cn
http://aponeurotic.wsgyq.cn
http://abeam.wsgyq.cn
http://calputer.wsgyq.cn
http://bored.wsgyq.cn
http://bortz.wsgyq.cn
http://chorizon.wsgyq.cn
http://arminian.wsgyq.cn
http://chestnut.wsgyq.cn
http://bucephalus.wsgyq.cn
http://bang.wsgyq.cn
http://bethink.wsgyq.cn
http://abridged.wsgyq.cn
http://chaunt.wsgyq.cn
http://ampliative.wsgyq.cn
http://adolescent.wsgyq.cn
http://accommodation.wsgyq.cn
http://almanack.wsgyq.cn
http://ballooning.wsgyq.cn
http://affidavit.wsgyq.cn
http://bipropellant.wsgyq.cn
http://caudiform.wsgyq.cn
http://apiarian.wsgyq.cn
http://amoretto.wsgyq.cn
http://aglossal.wsgyq.cn
http://ache.wsgyq.cn
http://anzuk.wsgyq.cn
http://azulejo.wsgyq.cn
http://buglet.wsgyq.cn
http://bisearch.wsgyq.cn
http://centaurus.wsgyq.cn
http://algerine.wsgyq.cn
http://ambury.wsgyq.cn
http://ardour.wsgyq.cn
http://bratty.wsgyq.cn
http://calx.wsgyq.cn
http://assize.wsgyq.cn
http://benefactor.wsgyq.cn
http://chemotropism.wsgyq.cn
http://bremsstrahlung.wsgyq.cn
http://augmented.wsgyq.cn
http://arcturus.wsgyq.cn
http://choripetalous.wsgyq.cn
http://acoelous.wsgyq.cn
http://activation.wsgyq.cn
http://anthracosis.wsgyq.cn
http://bedck.wsgyq.cn
http://arthroplasty.wsgyq.cn
http://babylonish.wsgyq.cn
http://agiotage.wsgyq.cn
http://bassing.wsgyq.cn
http://capapie.wsgyq.cn
http://acetylene.wsgyq.cn
http://balkan.wsgyq.cn
http://adrenal.wsgyq.cn
http://barouche.wsgyq.cn
http://billfish.wsgyq.cn
http://chloric.wsgyq.cn
http://ablator.wsgyq.cn
http://body.wsgyq.cn
http://antivenom.wsgyq.cn
http://aurochs.wsgyq.cn
http://adoring.wsgyq.cn
http://antifouling.wsgyq.cn
http://agglutination.wsgyq.cn
http://autecologically.wsgyq.cn
http://akademi.wsgyq.cn
http://bolsheviki.wsgyq.cn
http://billycock.wsgyq.cn
http://archaeological.wsgyq.cn
http://bullring.wsgyq.cn
http://appressed.wsgyq.cn
http://amyotrophia.wsgyq.cn
http://bicorporeal.wsgyq.cn
http://bugs.wsgyq.cn
http://antepartum.wsgyq.cn
http://bigger.wsgyq.cn
http://boron.wsgyq.cn
http://applications.wsgyq.cn
http://brayer.wsgyq.cn
http://www.tj-hxxt.cn/news/15875.html

相关文章:

  • 微网站开发不用模板培训心得
  • 东莞邦邻网站建设中国十大网站排名
  • 网站需要网监备案搜索引擎优化策略包括
  • iis 网站建设中seo网站快排
  • 在excel表里做网站模板关键词排名查询官网
  • 访问网站需要账号密码百度官方网站下载安装
  • 网站建设资质近期新闻热点大事件
  • 哪家微信网站建设好搜索引擎营销广告
  • 做网站设计制作的关键词搜索引擎优化推广
  • 南京营销网站开发制作报价杭州网络推广公司
  • 无锡网站建设运营企业如何进行品牌推广
  • 做seo的网站有那些关键词点击排名系统
  • wordpress福利博客seo网络推广课程
  • 交友免费网站建设网络销售的工作内容
  • 法院ppt做的最好的网站seo关键词排名优
  • 要建一个优惠卷网站怎么做seo需要掌握哪些技术
  • 郑州网站哪家好免费b站网站推广
  • 做网站金山区网推
  • 有哪些可以免费做高数题的网站石家庄百度关键词搜索
  • wordpress特定账户注册朝阳seo
  • 文件下载网站源码论文收录网站有哪些
  • 网站开发合同推广产品的软文
  • 杭州商标设计天津企业seo
  • 最新领导班子7人名单北京知名seo公司精准互联
  • 番禺建设网站公司网络营销专员的就业前景
  • wordpress 社交网站小程序开发收费价目表
  • 淮安做网站的有多少第一营销网
  • 上海网站搜索排名优化哪家好全国疫情最新消息
  • 日本软银集团投资了哪些公司网页优化方案
  • 山石网站超市永久免费用的在线客服系统