postgres安装
docker安装
支持的环境变量
| 变量名 | 说明 | 是否必须 |
|---|---|---|
POSTGRES_PASSWORD | 设置 PostgreSQL 超级用户的密码 | ✅ |
POSTGRES_USER | 如果未指定则使用默认超级用户 postgres | ❌ |
POSTGRES_DB | 指定 初始化时创建的默认数据库名,如果未指定,则使用POSTGRES_USER的值 | ❌ |
POSTGRES_INITDB_ARGS | 给 postgres initdb 传额外参数,开启数据页校验(提高数据安全) | ❌ |
POSTGRES_INITDB_WALDIR | 定义Postgres事务日志存放路径,默认情况下,事务日志存储在主 Postgres 数据文件夹的子目录中,⚠️PostgreSQL 9.x 里变量名叫 POSTGRES_INITDB_XLOGDIR | ❌ |
POSTGRES_HOST_AUTH_METHOD | 用于控制auth-method,用于host连接,适用于all数据库、all用户和all地址。如果未指定,则使用 scram-sha-256 密码认证(14+ 版本;旧版本为 md5) | ❌ |
PGDATA | pg的数据持久化目录为 /var/lib/postgresql/data ,从 PostgreSQL 18 起 ,变成了 /var/lib/postgresql/<version>/docker | ❌ |
- docker
- docker compose
docker run -d \
--name postgres \
--hostname pg-db-01 \
-p 5432:5432 \
-e POSTGRES_PASSWORD=123456 \
-v /data/docker-volume/pg:/var/lib/postgresql/data \
--restart always \
postgres:17.1
注意
pg18之前的版本,容器内数据目录为 /var/lib/postgresql/data ,从18版本以后,数据目录变成了 /var/lib/postgresql/<version>/docker ,例如18是 /var/lib/postgresql/18/docker ,19是 /var/lib/postgresql/19/docker
services:
postgres:
image: postgres:18.1
container_name: postgres
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: 123456
volumes:
- /data/docker-volume/pg:/var/lib/postgresql/18/docker
restart: always
包管理器安装
可以在这里选择操作系统,架构以及软件版本

rpm
安装软件源
dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-10-aarch64/pgdg-redhat-repo-latest.noarch.rpm
安装
dnf install -y postgresql18-server
初始化
/usr/pgsql-18/bin/postgresql-18-setup initdb
启动服务并加入开机自启
systemctl enable postgresql-18
systemctl start postgresql-18
连接pg
切换用户
su - postgres
连接pg
$ psql
psql (18.1)
Type "help" for help.
postgres=#

