首页 > 数据库 >使用docker部署pg集群(postgresql+postgis+pgrouting+pgpool)

使用docker部署pg集群(postgresql+postgis+pgrouting+pgpool)

时间:2023-07-05 16:25:53浏览次数:38  
标签:postgresql -- pgrouting pg env pgpool docker bitnami

使用docker部署pg集群(postgresql+postgis+pgrouting+pgpool)

1,安装docker

yum install docker

2,拉取docker容器

docker pull hub-mirror.c.163.com/bitnami/postgresql-repmgr:15 
docker pull hub-mirror.c.163.com/bitnami/pgpool:latest

3,启动数据库

1,创建文件夹并赋予权限

cd /
mkdir data
cd data
mkdir repmgr1
mkdir repmgr2
chmod 777 /data/repmgr1
chmod 777 /data/repmgr2

2,创建docker网络

docker network create pg-network 

3,启动数据库

docker run -v /data/repmgr1:/bitnami/postgresql --detach --restart always --name pg-0 -p 30350:5432 --network pg-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=123456 --env POSTGRESQL_PASSWORD=123456 hub-mirror.c.163.com/bitnami/postgresql-repmgr:15
	
docker run -v /data/repmgr2:/bitnami/postgresql --detach --restart always --name pg-1 -p 30351:5432 --network pg-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=123456 --env POSTGRESQL_PASSWORD=123456 hub-mirror.c.163.com/bitnami/postgresql-repmgr:15

4,查看运行状态

docker ps -a

4,启动pgpool

docker run --detach --restart always --name pgpool -p 9999:5432 \
  --env PGPOOL_BACKEND_NODES=0:pg-0:30350,1:pg-1:30351 \
  --env PGPOOL_SR_CHECK_USER=postgres \
  --env PGPOOL_SR_CHECK_PASSWORD=123456 \
  --env PGPOOL_ENABLE_LDAP=no \
  --env PGPOOL_POSTGRES_USERNAME=postgres \
  --env PGPOOL_POSTGRES_PASSWORD=123456 \
  --env PGPOOL_ADMIN_USERNAME=postgres \
  --env PGPOOL_ADMIN_PASSWORD=123456 \
  --add-host=pg-0:10.10.10.130 \
  --add-host=pg-1:10.10.10.130 \
  hub-mirror.c.163.com/bitnami/pgpool:latest

5,添加pgrouting

1,进入docker容器内

docker exec -u 0 -it pg-0 /bin/bash
docker exec -u 0 -it pg-1 /bin/bash

2,复制pgrouting文件到指定路径

1,上传文件到 /data/repmgr1 和 /data/repmgr1

下载地址 https://wwpm.lanzouj.com/iyjJ311crw5e

2,容器内执行命令

cp -r /bitnami/postgresql/pgrouting/lib/. /opt/bitnami/postgresql/lib
cp -r /bitnami/postgresql/pgrouting/share/extension/. /opt/bitnami/postgresql/share/extension/

6,pgpool添加用户

1,进入docker容器内

docker exec -u 0 -it pgpool /bin/bash

2,执行命令

pg_enc --key-file=/opt/bitnami/pgpool/conf/.pgpoolkey -m -f /opt/bitnami/pgpool/conf/pgpool.conf -u username password
username 是用户名
password 是密码 如果密码带有特殊符号需要转义 如 Yhsncy%#$# 转义为 Yhsncy\%\#\$\#

标签:postgresql,--,pgrouting,pg,env,pgpool,docker,bitnami
From: https://www.cnblogs.com/eternityCulture/p/17528840.html

相关文章

  • PostgreSQL 管理数据表(二)
    修改表当我们创建好一个表之后,可能会由于业务变更或者其他原因需要修改它的结构。PostgreSQL使ALTERTABLE语句修改表的定义:ALTERTABLEnameaction;其中的action表示要执行的操作。常见的修改操作包括:添加字段删除字段添加约束删除约束修改字段默认值修改字段数据类......
  • PostgreSQL 管理数据表(一)
    创建表在PostgreSQL中,使用CREATETABLE语句创建一个新表:CREATETABLEtable_name(column_namedata_typecolumn_constraint,column_namedata_type,...,table_constraint);建表语句说明首先,table_name指定了新表的名称。括号内是字段的定义,column......
  • PostgreSQL 管理数据表(三)
    删除约束删除约束通常需要知道它的名称,可以通过psql工具的\dtable_name命令查看表的约束。ALTERTABLEtable_nameDROPCONSTRAINTconstraint_name[RESTRICT|CASCADE];RESTRICT是默认值,如果存在其他依赖于该约束的对象,需要使用CASCADE执行级联删除。例如,外键约束依赖......
  • postgresql大表分批次删除
    [root@localhost~]#cat/root/delete_big_table.sh#!/bin/bash#$1对应表名,$2对应主键列,$3对应一次删除多少行i=`psql-h127.0.0.1-Upostgres-dtenant_1011046-c"selectceil(count(1)/${3}::float)from${1}whereplatcreatetime<'2023-04-3023:59:59'......
  • 数据库内核:PostgreSQL 事务
    事务处理事务简介事务是一个应用层面的操作,通过一系列的数据库操作执行。一个事务会影响数据库的状态。对于事务来说,会有很多限制,这些限制实质上是保障整个数据库的状态是合乎标准的,但是在执行事务期间,可能会有一部分限制被打破,但是如果该事务是合法的,那么在完成或放弃当前......
  • PostgreSQL 是一种功能丰富的关系型数据库管理系统(DBMS),具有以下特色
    PostgreSQL是一种功能丰富的关系型数据库管理系统(DBMS),具有以下特色:开源和免费:PostgreSQL是一款开源软件,它的源代码可以免费获取和修改。这意味着您可以自由地使用、分发和修改PostgreSQL,而无需支付额外的费用。可靠性和稳定性:PostgreSQL以其出色的可靠性和稳定性而闻名。它......
  • 如何在AutoCAD中快速加载SQL Server、MySql、PostgreSQL数据库中的矢量数据?
    借助GIS4CAD插件能快速将SQLServer、MySql、PostgreSQL数据库中的矢量数据加载到AutoCAD,通过将矢量数据与数据库相结合,您可以更好地管理和分析您的CAD数据。方法/步骤下载并安装GIS4CAD插件http://www.geosaas.com/download/gis4cad.exe 下载并安装GIS4CAD插件,安装成功......
  • 如何在AutoCAD中快速将矢量数据导出到SQL Server、MySql、PostgreSQL数据库?
    在AutoCAD中借助GIS4CAD插件能快速将矢量数据导出到SQLServer、MySql、PostgreSQL数据库,通过将矢量数据与数据库相结合,您可以更好地管理和分析您的CAD数据。方法/步骤下载并安装GIS4CAD插件http://www.geosaas.com/download/gis4cad.exe 下载并安装GIS4CAD插件,安装成功......
  • PostgreSQL 新手入门指引
    自从MySQL被Oracle收购以后,PostgreSQL 逐渐成为开源关系型数据库的首选。本文介绍PostgreSQL的安装和基本用法,供初次使用者上手。以下内容基于Debian操作系统,其他操作系统实在没有精力兼顾,但是大部分内容应该普遍适用。一、安装首先,安装PostgreSQL客户端。sudoapt-getins......
  • PostgreSQL 数据库与模式(二)
    删除数据库如果确定一个库不需要了,可以使用DROPDATABASE语句删除一个数据库(工作中谨慎删库):DROPDATABASE[IFEXISTS]name;如果使用了IFEXISTS,删除一个不存在的数据库时不会产生错误信息。删除数据库会同时删除该数据库中所有的对象,以及文件系统中的数据目录。只有数据库......