从 https://www.enterprisedb.com/download-postgresql-binaries 下载对应的zip包

解压到安装目录,比如:E:\pgsql

进入到bin目录中,执行以下命令

# 初始化数据库实例
initdb -D "D:\postgresql\data" -E UTF8 -U postgres --locale="Chinese (Simplified)_China.936" --lc-messages="Chinese_China.936" -A scram-sha-256 -W

其中各参数的意义:

-D: 数据库数据存放位置 -E: UTF8 编码 -U: 账号名 --local: 排序规则,这里用Chinese (Simplified)_China.936 --A: 账户加密方式,使用 scram-sha-256

注册成Window服务

pg_ctl register -N "PostgreSQL13" -D "D:\postgresql\data" -l "D:\postgresql\log\logfile.log" -o "-p 5432"

Docker 安装

拉取镜像

docker pull postgres:13

运行容器

# 基本运行
docker run -d \
  --name postgresql13 \
  -e POSTGRES_PASSWORD=your_password \
  -e POSTGRES_USER=postgres \
  -e POSTGRES_DB=postgres \
  -p 5432:5432 \
  postgres:13

数据持久化

# 带数据卷持久化
docker run -d \
  --name postgresql13 \
  -e POSTGRES_PASSWORD=your_password \
  -e POSTGRES_USER=postgres \
  -e POSTGRES_DB=postgres \
  -p 5432:5432 \
  -v postgresql13_data:/var/lib/postgresql/data \
  postgres:13

常用配置

# 自定义配置、数据持久化、开机自启
docker run -d \
  --name postgresql13 \
  --restart=always \
  -e POSTGRES_PASSWORD=your_password \
  -e POSTGRES_USER=postgres \
  -e POSTGRES_DB=postgres \
  -p 5432:5432 \
  -v postgresql13_data:/var/lib/postgresql/data \
  -v /path/to/postgresql.conf:/etc/postgresql/postgresql.conf \
  postgres:13 -c config_file=/etc/postgresql/postgresql.conf

连接命令

# 进入容器
docker exec -it postgresql13 psql -U postgres

# 外部连接
psql -h localhost -p 5432 -U postgres