Docker - PostgreSQL PostGis PgVector

本文详细介绍了如何使用Docker部署PostgreSQL和PostGIS,包括数据卷的使用、环境变量设置、镜像拉取、容器启动、日志查看和操作容器的方法。官方推荐使用postgis/postgis:16-3.4镜像,并演示了如何在容器中启用和测试PostGIS扩展。

博文目录


PostgreSQL

Docker Hub PostgreSQL

说明

说明主机路径容器路径
目录C:\coder\resource\develop\docker\bind.mount\postgres/var/lib/postgresql/data
部分环境变量是否必要说明
POSTGRES_PASSWORD必需设置超级用户密码
POSTGRES_USER可选设置超级用户名称. 默认 postgres
POSTGRES_DB可选设置首次启动时创建的默认数据库的名称, 默认使用 POSTGRES_USER 的值

命令

docker pull postgres:16.2
docker network create network
docker run -d --restart=always --name postgres --network network -p 5432:5432 -e TZ=Asia/Shanghai -e POSTGRES_PASSWORD=Mrv587.. -e ALLOW_IP_RANGE=0.0.0.0/0 -v C:/coder/resource/develop/docker/bind.mount/postgres:/var/lib/postgresql/data postgres:16.2
# 查看日志
docker logs postgres
# 跟踪日志
docker logs -f postgres
docker logs --follow postgres
# 查看最后10条日志
docker logs --tail 10 postgres
# 查看最近10分钟的日志
docker logs --since 10m postgres
# 进入容器并执行 bash
docker exec -it postgres bash
# 退出容器
exit

PostGIS

Docker Hub PostGIS

说明

PostGIS 是 PostgreSQL 对象关系数据库的空间数据库扩展, 通常需要手动安装该扩展

官方提供了基于 PostgresSQL 并安装了 PostGIS 扩展的镜像, 启动该镜像就相当于启动了一个安装了 PostGIS (以及其他相关) 扩展的 PostgresSQL, 支持 PostgresSQL 的环境变量和数据卷

此镜像确保父镜像 postgres 创建的默认数据库将安装以下扩展

安装的扩展初始化
postgisyes
postgis_topologyyes
postgis_tiger_geocoderyes
postgis_raster
postgis_sfcgal
address_standardizer
address_standardizer_data_us

截止 20240512, 官方推荐新用户使用版本:postgis/postgis:16-3.4

在指定数据库与模式中启用 PostGIS, 执行 create extension postgis;

测试是否启用成功, 执行 select postgis_full_version();

命令

docker pull postgis/postgis:16-3.4
docker network create network
docker run -d --restart=always --name postgis --network network -p 5432:5432 -e TZ=Asia/Shanghai -e POSTGRES_PASSWORD=Mrv587.. -e ALLOW_IP_RANGE=0.0.0.0/0 -v C:/coder/resource/develop/docker/bind.mount/postgres:/var/lib/postgresql/data postgis/postgis:16-3.4
# 查看日志
docker logs postgis
# 跟踪日志
docker logs -f postgis
docker logs --follow postgis
# 查看最后10条日志
docker logs --tail 10 postgis
# 查看最近10分钟的日志
docker logs --since 10m postgis
# 进入容器并执行 bash
docker exec -it postgis bash
# 退出容器
exit

PgVector

说明

PgVector 是 PostgreSQL 的一个 向量数据扩展,让你可以在 PostgreSQL 里面存储和检索向量(vector),主要用于 AI / 机器学习 / 向量数据库场景。

官方提供了基于 PostgresSQL 并安装了 vector 扩展的镜像, 启动该镜像就相当于启动了一个安装了 vector (以及其他相关) 扩展的 PostgresSQL, 支持 PostgresSQL 的环境变量和数据卷

在指定数据库与模式中启用 vector, 执行 create extension vector;, 成功无报错则表示启用成功

命令

docker pull pgvector/pgvector:pg17
docker network create network
docker run -d --restart=always --name pgvector --network network -p 5432:5432 -e TZ=Asia/Shanghai -e POSTGRES_PASSWORD=Mrv587.. -e ALLOW_IP_RANGE=0.0.0.0/0 -v C:/coder/resource/develop/docker/bind.mount/postgres:/var/lib/postgresql/data pgvector/pgvector:pg17
# 查看日志
docker logs pgvector
# 跟踪日志
docker logs -f pgvector
docker logs --follow pgvector
# 查看最后10条日志
docker logs --tail 10 pgvector
# 查看最近10分钟的日志
docker logs --since 10m pgvector
# 进入容器并执行 bash
docker exec -it pgvector bash
# 退出容器
exit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值