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
说明
PostGIS 是 PostgreSQL 对象关系数据库的空间数据库扩展, 通常需要手动安装该扩展
官方提供了基于 PostgresSQL 并安装了 PostGIS 扩展的镜像, 启动该镜像就相当于启动了一个安装了 PostGIS (以及其他相关) 扩展的 PostgresSQL, 支持 PostgresSQL 的环境变量和数据卷
此镜像确保父镜像 postgres 创建的默认数据库将安装以下扩展
| 安装的扩展 | 初始化 |
|---|---|
| postgis | yes |
| postgis_topology | yes |
| postgis_tiger_geocoder | yes |
| 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
本文详细介绍了如何使用Docker部署PostgreSQL和PostGIS,包括数据卷的使用、环境变量设置、镜像拉取、容器启动、日志查看和操作容器的方法。官方推荐使用postgis/postgis:16-3.4镜像,并演示了如何在容器中启用和测试PostGIS扩展。

935

被折叠的 条评论
为什么被折叠?



