Docker安装PostgreSQL及PostGIS

说来惭愧,大名鼎鼎的开源数据库PostgreSQL第一次用,由于要存储地理信息数据,也用了PostGIS插件,顺手记录下在Docker环境中的安装配置过程。


安装环境

Docker Desktop for Windows 4.10
PostgreSQL 10.19
PostGIS 10.3


1.安装PostgreSQL

拉去镜像

docker pull postgres 10.19

创建并启动容器

docker run -d --name mypostgres --restart=always -p 5432:5432 -e POSTGRES_PASSWORD=postgres -e PGDATA=/var/lib/postgresql/data/pgdata -v /custom/mount:/var/lib/postgresql/data postgres:10.19

其中的几个参数含义如下:

–name mypostgres | 容器名称
–restart=always | 始终自动重启
-p 5432:5432 | 端口映射(主机Host端口:容器端口)
-e POSTGRES_PASSWORD=postgres | 自定义参数(密码)
-e PGDATA=/var/lib/postgresql/data/pgdata | 自定义参数(数据存储路径)
-v /custom/mount:/var/lib/postgresql/data | 路径映射

2.安装PgAdmin

docker run -p 5050:80 -e 'PGADMIN_DEFAULT_EMAIL=admin@admin.org' -e 'PGADMIN_DEFAULT_PASSWORD=admin' -d --name pgadmin4 dpage/pgadmin4

由于端口已映射到5050,使用浏览器访问http://localhost:5050,登录后连接PostgreSQL
在这里插入图片描述

3.安装PostGIS

这里使用在docker容器中安装PostGIS
进入postgresql容器

docker exec -it postgres bash

使用apt安装postgis,由于PostgreSQL使用的版本是10系列,所以PostGIS也使用对应版本

apt-get install postgresql-10-postgis-3 postgresql-10-postgis-3-dbgsym postgresql-10-postgis-3-scripts

在这里插入图片描述

使用apt-get有时会出现安装失败的问题,提示找不到对应的包或者依赖库,需要将apt先进行更新

apt update   //更新apt
apt-get update  //更新apt-get

此外也可以使用yum安装postgis,或者使用wget下载postgis压缩包解压运行,但都需要对组件进行安装和更新

apt install yum
apt install wget

4.数据迁移

4.1.备份数据

打开pgAdmin,在需要备份数据的数据库上右键选择“备份”,选择或输入备份文件名称,其他参数根据情况选择,点击备份开始执行。
在这里插入图片描述
对应的命令为:

/usr/local/pgsql-10/pg_dump --file "/var/lib/pgadmin/storage/admin_admin.org/backup-20220706" --host "192.168.199.38" --port "5432" --username "postgres" --no-password --verbose --role "postgres" --format=c --blobs --encoding "UTF8" "GISDB"

4.2.还原数据

打开pgAdmin,在需要还原数据的数据库上右键选择“还原中”,选择备份文件名称,点击还原开始执行。
在这里插入图片描述
对应的命令为:

/usr/local/pgsql-10/pg_restore --host "host.docker.internal" --port "5432" --username "postgres" --no-password --role "postgres" --dbname "GISDB" --verbose "/var/lib/pgadmin/storage/admin_admin.org/backup-20220706"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值