PostgreSQL 是一款功能强大的开源关系型数据库管理系统,以其高性能、可靠性和扩展性著称。它支持复杂的查询、事务处理以及多种数据类型,同时具备良好的并发控制机制。PostgreSQL 持续演进,不断引入现代化特性,适用于从轻量级应用到大规模企业级系统的各类场景。
1、创建专属桥接网络
若已创建,可跳过此步骤。
2、部署项目
2.1、创建项目
2.2、Compose配置
services:
postgresql:
container_name: postgresql
image: postgres:latest
restart: always
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD={强密码}
- TZ=Asia/Shanghai
ports:
- 5432:5432
volumes:
- ./data:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-h", "127.0.0.1", "-p", "5432", "-q", "-U", "postgres"]
start_period: 20s
interval: 30s
retries: 5
timeout: 5s
networks:
- app_network
networks:
app_network:
external: true
设置“
TZ
”,值:“Asia/Shanghai
”,将时区设置到+8
时区,即北京时间;POSTGRES_PASSWORD
要使用 PostgreSQL,需要此环境变量。它不能为空或未定义。此环境变量设置 PostgreSQL 的超级用户密码,{强密码}
必须修改有效且复杂的密码,防止数据库被攻破;POSTGRES_USER
此可选环境变量与设置用户及其密码结合使用。此变量将创建具有超级用户权限的指定用户和具有相同名称的数据库。如果未指定,则将使用默认用户:postgres
;POSTGRES_DB
此可选环境变量可用于为首次启动映像时创建的默认数据库定义不同的名称。如果未指定,则将使用POSTGRES_USER
的值。
在本示例中,
POSTGRES_USER
被设置为postgres
,因此超级管理员用户名为postgres
。由于未明确设置POSTGRES_DB
的名称,默认数据库同样为postgres
。超级管理员密码为:{强密码}
注意:若修改了
POSTGRES_USER
的值,则必须将test: ["CMD", "pg_isready", "-h", "127.0.0.1", "-p", "5432", "-q", "-U", "postgres"]
中的"postgres"
替换为POSTGRES_USER
所设置的用户名。