PodarDB安装postgres及postgis

PolarDB安装

一、PolarDB要求

postgres 11.9
postgis 3.0.6

二、docker安装PolarDB

// 1、拉取单节点 PolarDB 镜像
docker pull polardb/polardb_pg_local_instance:single
// 2、创建运行并进入容器
// 创建PolarDB目录,并在目录中创建启动容器脚本start.sh
授予启动权限
chmod +x start.sh
// 启动脚本内容如下

docker run -d -p 5432:5432 \
  -it --cap-add=SYS_PTRACE \
  --restart=always \
  --privileged=true \
  --name polardb_pg_single \
  polardb/polardb_pg_local_instance:single

// 启动容器
sh start.sh

三、容器内安装PostGresSql

  • 1、进入容器

docker exec -it polardb_pg_single bash

  • 2、拉取 PolarDB for PostgreSQL 的源代码

git clone -b POLARDB_11_STABLE https://gitee.com/mirrors/PolarDB-for-PostgreSQL

  • 3、修改允许外网无法访问pg库配置
vim tmp_master_dir_polardb_pg_1100_bld/pg_hba.conf
增加一行,允许外部网络访问
host all                postgres        0.0.0.0/0       trust
  • 4、编译部署
// 进入pg源码目录
cd PolarDB-for-PostgreSQL/
// 构建 
./polardb_build.sh
  • 5、校验成功

psql -h 127.0.0.1 -c 'select version();'
或使用navicate直接连接
ip:5432 postgres/postgres

如果成功的话,恭喜pg已安装好!

四、postgis扩展安装

  • 1 进入容器内容安装postgis
docker exec -it  polardb_pg_single bash
sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install postgis30_11 -y
  • 2 创建容器内部的postgresql脚本
sudo cp /home/postgres/PolarDB-for-PostgreSQL/contrib/start-scripts/linux /etc/init.d/postgresql
  • 3 将postgresql脚本设置可执行
sudo chmod +x /etc/init.d/postgresql
sudo chkconfig --add postgresql
  • 4、将postgis扩展脚本链接到polarDb的basedir目录中
sudo ln -s /usr/pgsql-11/share/extension/postgis* /home/postgres/tmp_basedir_polardb_pg_1100_bld/share/extension/
sudo ln -s /usr/pgsql-11/lib/postgis* /home/postgres/tmp_basedir_polardb_pg_1100_bld/lib/
  • 5、重启postgressql
$HOME/tmp_basedir_polardb_pg_1100_bld/bin/pg_ctl restart -D $HOME/tmp_master_dir_polardb_pg_1100_bld

此时顺利的话在navicate中可以使用扩展postgis了
如果在postgers输入以下命令,可以在函数中看到看到postgis的空间函数,则安装postgis成功

create extension postgis

五、其他

1、关闭与启动PolarDB

// 关闭pg
$HOME/tmp_basedir_polardb_pg_1100_bld/bin/pg_ctl     -D $HOME/tmp_master_dir_polardb_pg_1100_bld/     stop
// 启动pg
$HOME/tmp_basedir_polardb_pg_1100_bld/bin/pg_ctl start -D $HOME/tmp_master_dir_polardb_pg_1100_bld
// 重启pg
$HOME/tmp_basedir_polardb_pg_1100_bld/bin/pg_ctl restart -D $HOME/tmp_master_dir_polardb_pg_1100_bld

2、pg命令

// 查看postgres版本
select version();

// 查看postgis版本
select postgis_full_version();
posted @   安财迁客  阅读(823)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示