本帖最后由 我是好人 于 2023-2-22 14:03 编辑
- docker run --detach --rm -p 5432:5432 --name pg-0 \
- --network my-network \
- --env REPMGR_PARTNER_NODES=pg-0,pg-1 \
- --env REPMGR_NODE_NAME=pg-0 \
- --env REPMGR_NODE_NETWORK_NAME=pg-0 \
- --env REPMGR_PRIMARY_HOST=pg-0 \
- --env REPMGR_PASSWORD=repmgrpass \
- --env POSTGRESQL_POSTGRES_PASSWORD=adminpassword \
- --env POSTGRESQL_USERNAME=customuser \
- --env POSTGRESQL_PASSWORD=custompassword \
- --env POSTGRESQL_DATABASE=customdatabase \
- bitnami/postgresql-repmgr:latest
- docker run --detach --rm -p 5432:5432 --name pg-1 \
- --network my-network \
- --env REPMGR_PARTNER_NODES=pg-0,pg-1 \
- --env REPMGR_NODE_NAME=pg-1 \
- --env REPMGR_NODE_NETWORK_NAME=pg-1 \
- --env REPMGR_PRIMARY_HOST=pg-0 \
- --env REPMGR_PASSWORD=repmgrpass \
- --env POSTGRESQL_POSTGRES_PASSWORD=adminpassword \
- --env POSTGRESQL_USERNAME=customuser \
- --env POSTGRESQL_PASSWORD=custompassword \
- --env POSTGRESQL_DATABASE=customdatabase \
- bitnami/postgresql-repmgr:latest
- docker run --detach --rm --name pgpool -v -p 9999:5432 \
- --network my-network \
- --env PGPOOL_BACKEND_NODES=0:pg-0:5432,1:pg-1:5432 \
- --env PGPOOL_SR_CHECK_USER=customuser \
- --env PGPOOL_SR_CHECK_PASSWORD=custompassword \
- --env PGPOOL_ENABLE_LDAP=no \
- --env PGPOOL_POSTGRES_USERNAME=postgres \
- --env PGPOOL_POSTGRES_PASSWORD=adminpassword \
- --env PGPOOL_ADMIN_USERNAME=admin \
- --env PGPOOL_ADMIN_PASSWORD=adminpassword \
- bitnami/pgpool:latest
复制代码
以上方法非常简单,最后程序直接访问9999端口即可实现读写分离。
缺点:
1.只能再一个宿主机上执行,不能跨主机。
2.不能挂载数据库路径,数据安全无法保证。
|