当前位置:   article > 正文

docker安装PostgreSQL+PostGiS_postgis安装

postgis安装

        要按照公司已有的postgresql重新搭建一套数据库,查看原有版本,PostgreSQL是10.5,PostGiS是2.4.5,然后查了些资料,docker内安装postgres:10.5,然后再容器内安装postgis插件,因为公司服务器是离线环境,所以打算先在阿里云服务器上安装配置好,再将容器打包成镜像,移植到的离线服务器,然后整整安装了两天,踩了各种坑,也没安装成功。

踩坑方案一:docker安装postgres:10.5,然后通过导入postgis2.4.5包进行安装,已失败告终。

踩坑方案二:docker安装postgres:10.5,然后通过apt-get安装postgres-10-postgis-2.4,因切换了各种源(阿里、163、清华)都没有10-2.4版本,失败

搞了整整两天,头昏脑胀,也没成功,然后,突然在csdn上看到了一篇文章Docker 环境安装postgres+postgis扩展原来,直接docker安装postgis就可以了............ mmp


1、访问docker镜像网站查看要需要安装的版本

2、选择一个查找自己需要的版本

(我这里选择的是第一个corpusops/postgis,推荐postgis/postgis,里面没有我需要的10-2.4)

依次点击corpusops/postgis->Tags,将Sort by选为A-Z,可以看到下面有若干个版本,选择10-2.4

从IMAGE LAYERS内可以看到,该镜像源对应的postgres和postgis版本

3、选择该版本镜像安装

复制pull命令,在阿里云服务器上执行

docker pull corpusops/postgis:10-2.4

4、运行该镜像

        在服务器上创建数据卷映射文件夹

  1. mkdir -p /data/postgres/postgresql/data
  2. mkdir -p /data/postgres/postgis/data
docker run --name postgis_postgres --restart=always -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=123456 -e POSTGRES_DBNAME=gis_db -p 5432:5432 -v /data/postgres/postgis/data:/var/lib/postgis/data -v /data/postgres/postgresql/data:/var/lib/postgresql/data -d corpusops/postgis:10-2.4

        参数说明:

  1. docker run
  2. --name postgis_postgres # 创建容器名称
  3. --restart=always #自动启动
  4. -e POSTGRES_USER=postgres #postgresql 用户名
  5. -e POSTGRES_PASSWORD=123456 #postgresql 密码
  6. -e POSTGRES_DBNAME=gis_db #添加环境变量
  7. -p 5432:5432 # 占用服务器端口:docker内部虚拟端口
  8. -v /data/postgres/postgis/data:/var/lib/postgis/data #postgis数据卷映射到本地环境
  9. -v /data/postgres/postgresql/data:/var/lib/postgresql/data #postgresql数据卷映射到本地环境
  10. -d corpusops/postgis:10-2.4 #使用的镜像名称:版本

5、本地通过pgadmin4访问

(需要将服务的5432端口打开)

pgadmin4请访问pgadmin官网下载地址自行下载安装,需要注意的是pgadmin4无法连接老版本的pg数据库,比如我安装的macOS pgAdmin 4 v6.21 连接postgres:9.6会报如下错误:

打开安装好的pgadmin4

pgadmin官网下载地址

需要先设置软件主密码(不是连接数据库的密码),随意设置 ,记得住就好,每次使用pgadmin需要输入,比如我设置的123456

设置好之后,依次点击

输入连接配置,名称自定义

可以看到连接的pg数据库中包含一个名为postgres的数据库,该库为pg默认创建的,在扩展下除了postgis外,还包含了其它几个插件,这是这个镜像源自带的

6、创建自己的数据库并添加postgis

右键点击postgis-》CREATE脚本

 复制改create命令

  1. -- Extension: postgis
  2. -- DROP EXTENSION postgis;
  3. CREATE EXTENSION IF NOT EXISTS postgis
  4. SCHEMA public
  5. VERSION "2.4.4";

创建数据库

添加postgis

将刚才复制的create命令复制到查询窗口

查看test数据库,可以看到已经安装好了postgis和其中的函数、类型、默认表 

至此,安装posgresql+postgis完成,如需安装其它版本请自行通过docker镜像网站查找pull命令。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/410382
推荐阅读
相关标签
  

闽ICP备14008679号