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

嘉兴云推广网站网络设计师的发展前景

嘉兴云推广网站,网络设计师的发展前景,手机网站指向什么意思,wordpress添加视频插件q下面是跨主机用 Docker Compose 部署 PostgreSQL PostGIS 主从复制的完整详细步骤(主库 从库),主从都用官方 PostGIS 镜像 postgis/postgis:15-3.3,并注意网络与持久化。复制即可。 🚩 跨主机 PostgreSQL PostGIS …

q下面是跨主机用 Docker Compose 部署 PostgreSQL + PostGIS 主从复制的完整详细步骤(主库 + 从库),主从都用官方 PostGIS 镜像 postgis/postgis:15-3.3,并注意网络与持久化。复制即可。


🚩 跨主机 PostgreSQL + PostGIS 主从复制完整部署方案


基本假设

主机角色IP端口映射
主机A主库192.168.10.1015432 → 5432
主机B从库192.168.10.1025433 → 5432

1. 主机A(主库)部署步骤

1.1 创建目录

mkdir -p ~/pg-master/{data,config}
cd ~/pg-master

1.2 准备配置文件

config/postgresql.conf
listen_addresses = '*'
port = 5432
wal_level = replica
max_wal_senders = 10
wal_keep_size = 64
hot_standby = on
config/pg_hba.conf
# 允许所有 IP 用 md5 连接(可根据安全需求收紧)
host all all 0.0.0.0/0 md5
host replication postgres 0.0.0.0/0 md5

1.3 创建 docker-compose.yml

version: "3.8"services:postgis-master:image: postgis/postgis:15-3.3container_name: postgis-masterrestart: alwaysenvironment:POSTGRES_DB: gisPOSTGRES_USER: postgresPOSTGRES_PASSWORD: masterpassports:- "5432:5432"volumes:- ./data:/var/lib/postgresql/data- ./config/postgresql.conf:/etc/postgresql/postgresql.conf- ./config/pg_hba.conf:/etc/postgresql/pg_hba.confcommand: >postgres -c config_file=/etc/postgresql/postgresql.confnetworks:- pgnetnetworks:pgnet:driver: bridge

1.4 启动主库容器

docker-compose up -d

1.5 初始化数据库,创建 PostGIS 扩展及授权复制权限

docker exec -it postgis-master psql -U postgres -d gis

在 psql 里执行:

CREATE EXTENSION postgis;
ALTER ROLE postgres WITH REPLICATION;

2. 主机B(从库)部署步骤

2.1 创建目录

mkdir -p ~/pg-slave/data
cd ~/pg-slave

2.2 创建 docker-compose.yml

version: "3.8"services:postgis-slave:image: postgis/postgis:15-3.3container_name: postgis-slaverestart: alwaysenvironment:POSTGRES_USER: postgresPOSTGRES_PASSWORD: masterpassports:- "5433:5432"volumes:- ./data:/var/lib/postgresql/datanetworks:- pgnetcommand: >bash -c "if [ ! -s /var/lib/postgresql/data/PG_VERSION ]; thenpg_basebackup -h 192.168.10.101 -p 5432 -U postgres -D /var/lib/postgresql/data -Fp -Xs -P -Rfi &&postgres"networks:pgnet:driver: bridge

 其中下面这段:

这一步骤的作用:

  1. pg_basebackup:首次启动从库时,自动从主库拉取数据目录快照(全量数据),包括数据库数据文件和 WAL 日志配置。

  2. -R 参数:会自动在从库数据目录写入**standby.signal**文件(PostgreSQL 12+ 的新机制,取代旧的 recovery.conf),并且自动生成主库连接的复制配置(primary_conninfo),这就是主从连接的配置。

    • primary_conninfo 里包括主库 IP、端口、用户名、密码等信息,从库根据它连接主库,接收 WAL 日志持续同步。

command: >bash -c "if [ ! -s /var/lib/postgresql/data/PG_VERSION ]; thenpg_basebackup -h 192.168.10.101 -p 5432 -U postgres -D /var/lib/postgresql/data -Fp -Xs -P -Rfi &&postgres"

2.3 启动从库容器

docker-compose up -d

3. 测试验证

3.1 主库插入测试数据

docker exec -it postgis-master psql -U postgres -d gis

执行:

CREATE TABLE test(id SERIAL PRIMARY KEY, name TEXT);
INSERT INTO test(name) VALUES ('hello from master');

3.2 从库查看同步数据

docker exec -it postgis-slave psql -U postgres -d gis

执行:

SELECT * FROM test;
-- 应该能看到 'hello from master'

4. 注意事项总结

  • 确保主机之间 5432 端口(主库)开放,防火墙允许通信

  • pg_hba.conf 允许从库主机 IP 访问复制权限

  • 主从镜像都用 postgis/postgis:15-3.3,保证插件文件一致

  • 从库首次启动自动通过 pg_basebackup 拉取主库数据,后续通过 WAL 复制同步

  • 持久化目录映射保证数据不会丢失

  • 网络配置建议使用内网桥接网络或 Docker Swarm overlay 网络


5. 额外推荐命令

查看主库日志:

docker logs -f postgis-master

查看从库日志:

docker logs -f postgis-slave

查看当前数据库扩展:

SELECT * FROM pg_available_extensions WHERE name='postgis';

📋 复制即用版本(笔记版)

# 主机A 主库目录准备
mkdir -p ~/pg-master/{data,config} && cd ~/pg-master# postgresql.conf
cat > config/postgresql.conf <<EOF
listen_addresses = '*'
port = 5432
wal_level = replica
max_wal_senders = 10
wal_keep_size = 64
hot_standby = on
EOF# pg_hba.conf
cat > config/pg_hba.conf <<EOF
host all all 0.0.0.0/0 md5
host replication postgres 0.0.0.0/0 md5
EOF# docker-compose.yml
cat > docker-compose.yml <<EOF
version: "3.8"
services:postgis-master:image: postgis/postgis:15-3.3container_name: postgis-masterrestart: alwaysenvironment:POSTGRES_DB: gisPOSTGRES_USER: postgresPOSTGRES_PASSWORD: masterpassports:- "5432:5432"volumes:- ./data:/var/lib/postgresql/data- ./config/postgresql.conf:/etc/postgresql/postgresql.conf- ./config/pg_hba.conf:/etc/postgresql/pg_hba.confcommand: >postgres -c config_file=/etc/postgresql/postgresql.confnetworks:- pgnet
networks:pgnet:driver: bridge
EOFdocker-compose up -ddocker exec -it postgis-master psql -U postgres -d gis -c "CREATE EXTENSION postgis;"
docker exec -it postgis-master psql -U postgres -c "ALTER ROLE postgres WITH REPLICATION;"# 主机B 从库目录准备
mkdir -p ~/pg-slave/data && cd ~/pg-slave# docker-compose.yml
cat > docker-compose.yml <<EOF
version: "3.8"
services:postgis-slave:image: postgis/postgis:15-3.3container_name: postgis-slaverestart: alwaysenvironment:POSTGRES_USER: postgresPOSTGRES_PASSWORD: masterpassports:- "5433:5432"volumes:- ./data:/var/lib/postgresql/datanetworks:- pgnetcommand: >bash -c "if [ ! -s /var/lib/postgresql/data/PG_VERSION ]; thenpg_basebackup -h 192.168.10.101 -p 5432 -U postgres -D /var/lib/postgresql/data -Fp -Xs -P -Rfi &&postgres"
networks:pgnet:driver: bridge
EOFdocker-compose up -d# 测试主库插入数据:
docker exec -it postgis-master psql -U postgres -d gis -c "CREATE TABLE test(id SERIAL PRIMARY KEY, name TEXT);"
docker exec -it postgis-master psql -U postgres -d gis -c "INSERT INTO test(name) VALUES ('hello from master');"# 测试从库查询数据:
docker exec -it postgis-slave psql -U postgres -d gis -c "SELECT * FROM test;"


文章转载自:

http://Xwam0TRU.yzmzp.cn
http://iMjD1KUZ.yzmzp.cn
http://YUXme4TA.yzmzp.cn
http://B6dblkZM.yzmzp.cn
http://dcobVj4o.yzmzp.cn
http://XP0hebjx.yzmzp.cn
http://MiKzxxnb.yzmzp.cn
http://3F0zjTGB.yzmzp.cn
http://oinbgRtk.yzmzp.cn
http://8YjLOF82.yzmzp.cn
http://auX66uPm.yzmzp.cn
http://hKNA2Ljj.yzmzp.cn
http://W6OIKWYO.yzmzp.cn
http://9kZGOCsO.yzmzp.cn
http://5Cx0LALL.yzmzp.cn
http://o7YuWM6T.yzmzp.cn
http://pRDzAP08.yzmzp.cn
http://HlixcgMs.yzmzp.cn
http://fjPEg1vY.yzmzp.cn
http://HUOXmpzJ.yzmzp.cn
http://BttmhyEQ.yzmzp.cn
http://VLEtkz70.yzmzp.cn
http://fuHI6g3S.yzmzp.cn
http://dTKakL9M.yzmzp.cn
http://XNib6rdz.yzmzp.cn
http://I9szEV2T.yzmzp.cn
http://z6FvNfFv.yzmzp.cn
http://C3TzJTgC.yzmzp.cn
http://RFxVaFvm.yzmzp.cn
http://BFAuHpNg.yzmzp.cn
http://www.dtcms.com/wzjs/748246.html

相关文章:

  • 公司做个网站最近一周的热点新闻
  • 门户网站的重要性网站开发项目的规划与设计文档
  • 做网站需要规划好什么做网站会有侵权
  • 模板网站跟仿站的区别展览展示搭建设计
  • pc和移动版网站学php搞网站开发
  • 网站域名重定向西安seo网站排名优化公司
  • 做网站亏本河东区腾讯网站建设
  • 济南建设网站公司wordpress 漏洞攻击
  • 找网站建设需要问什么企业工商登记信息查询系统
  • wordpress 刷评论广州网站建设网站优化网站推广
  • 可以免费生成网站的软件网站开发亿玛酷适合5
  • 公司网站域名注册费用菏泽网站建设多少钱
  • 宝洁网站建设评价佛山企业网站建设咨询
  • 网络营销网站建设论文开发公司已开发完成楼盘土地证能否出让
  • 张家口市建设局网站网站建设 智能建站
  • 中小企业网站建设服务公司做网站的挣钱么
  • 免费商城版网站制作wordpress xampp 本地 慢
  • 做网站语言最好网站建设弹窗代码
  • 网站开发厦门蔚县网站建设wl17581
  • 网站建设论文任务书网校课程
  • 网站建设情况调查表正鹏建设工程有限公司网站
  • 前端做任务的网站推广文案模板
  • 建网站找那家企业好建设公司网站建设报价
  • 钓鱼网站 企业形象任务发布插件wordpress
  • 扁平化色块风格的网站有没类似建设通的免费网站
  • 大连小程序制作开发seo推广公司排名
  • 江西专业的网站建设制作深圳网站建设的
  • 个人如何做短视频网站十大互联网公司排名
  • 网站流量突然增加中国空间站完成图
  • 嘉兴网站设计网站建设忘记密码邮箱设置