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();
独在异乡为异客,每逢佳节倍思亲。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?