文章目录
- [1 PostgreSQL安装](#1 PostgreSQL安装)
-
- [1.1 官网安装](#1.1 官网安装)
-
- [1.1.1 下载](#1.1.1 下载)
- [1.1.2 exe安装](#1.1.2 exe安装)
- [1.1.3 zip安装](#1.1.3 zip安装)
- [1.2 Scoop安装](#1.2 Scoop安装)
-
- [1.2.1 查询PostgreSQL](#1.2.1 查询PostgreSQL)
- [1.2.2 安装](#1.2.2 安装)
- [1.2.3 修改密码](#1.2.3 修改密码)
- [1.3 使用pgAdmin](#1.3 使用pgAdmin)
1 PostgreSQL安装
1.1 官网安装
官网:https://www.postgresql.org/
1.1.1 下载




1.1.2 exe安装




数据库相关数据默认存放在这里

设置密码,账号默认为postgres

数据库服务监听端口号,默认端口号即可

系统语言/地区, 建议选择默认

1.1.3 zip安装
下载解压:
bash
解压到 C:\pgsql
# 解压后结构:
C:\pgsql\
├── bin\ # 可执行文件
├── lib\ # 库文件
├── share\ # 共享文件、扩展
├── symbols\ # 调试符号(可删除)
└── pgAdmin 4\ # 图形工具(部分版本)
初始化数据库集群
这是最关键的一步,创建数据目录和系统表:
bash
# 创建数据目录
mkdir C:\pgsql\data
# 初始化(指定编码、用户名、密码)
# -D: 数据目录 -E: 编码 UTF8 -U: 超级用户名(默认 postgres) -W: 交互式输入密码(推荐)
C:\pgsql\bin\initdb.exe -D C:\pgsql\data -E UTF8 -U postgres -W
输出示例:
The files belonging to this database system will be owned by user "你的用户名".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.UTF-8".
...
Success. You can now start the database server using:
"C:\pgsql\bin\pg_ctl" -D "C:\pgsql\data" -l logfile start
启动 PostgreSQL
bash
方式一:前台启动(调试/临时)
# 前台运行,Ctrl+C 停止
C:\pgsql\bin\postgres.exe -D C:\pgsql\data
方式二:后台启动(推荐)
# 后台服务方式启动
C:\pgsql\bin\pg_ctl.exe -D C:\pgsql\data start -l C:\pgsql\log\pg.log
这里得log 文件夹要存在,不然第一次可能报:could not open log file
如果启动时不想加 -D 指定数据库,那么添加环境变量:PGDATA来指定数据目录
# 停止
C:\pgsql\bin\pg_ctl.exe -D C:\pgsql\data stop
# 重启
C:\pgsql\bin\pg_ctl.exe -D C:\pgsql\data restart
方式三:注册为 Windows 服务(生产环境)
# 以管理员身份运行 PowerShell
C:\pgsql\bin\pg_ctl.exe register -N "PostgreSQL" -D "C:\pgsql\data" -S auto
# 启动服务
net start PostgreSQL
# 停止服务
net stop PostgreSQL
# 删除服务
C:\pgsql\bin\pg_ctl.exe unregister -N "PostgreSQL"
连接测试
bash
# 使用 psql 连接
C:\pgsql\bin\psql.exe -U postgres -d postgres
# 或者指定主机(本地)
C:\pgsql\bin\psql.exe -h localhost -U postgres -d postgres
进入 psql 后:
-- 查看版本
SELECT version();
-- 修改密码 还需要改data目录下的 pg_hba.conf 文件把里面的 trust 改为 scram-sha-256 这样登录就需要密码而非trust
\password postgres
-- 列出数据库
\l
-- 创建数据库
CREATE DATABASE mydb;
-- 退出
\q
1.2 Scoop安装
1.2.1 查询PostgreSQL
bash
C:\Users\test>scoop search postgresql
Results from local buckets...
Name Version Source Binaries
---- ------- ------ --------
postgresql 18.2 main
postgresql10 10.23 versions
postgresql11 11.22 versions
postgresql12 12.22 versions
postgresql13 13.23 versions
postgresql14 14.21 versions
postgresql15 15.16 versions
postgresql16 16.12 versions
postgresql17 17.8 versions
1.2.2 安装
bash
C:\Users\test>scoop install main/postgresql
Installing 'postgresql' (18.3) [64bit] from 'main' bucket
proxy: https://get.enterprisedb.com/postgresql/postgresql-18.3-1-windows-x64-binaries.zip
Starting download with aria2 ...
Download: Download Results:
Download: gid |stat|avg speed |path/URI
Download: ======+====+===========+=======================================================
Download: 55d75c|OK | 24MiB/s|D:/Scoop/cache/postgresql#18.3#f0c3152.zip
Download: Status Legend:
Download: (OK):download completed.
Checking hash of postgresql-18.3-1-windows-x64-binaries.zip ... ok.
Extracting postgresql-18.3-1-windows-x64-binaries.zip ... done.
Linking D:\Scoop\apps\postgresql\current => D:\Scoop\apps\postgresql\18.3
Creating shortcut for pgAdmin 4 (pgAdmin4.exe)
Adding D:\Scoop\apps\postgresql\current\bin to your path.
Persisting data
Running post_install script...属于此数据库系统的文件宿主为用户 "test".
此用户也必须为服务器进程的宿主.
数据库集簇将以区域环境设置 "C" 进行初始化.
默认的文本搜索配置将被设为 "english".
允许生成数据页校验和.
正在修复已存在目录 D:/Scoop/apps/postgresql/current/data 的权限 ... 成功
正在创建子目录 ... 成功
正在选择动态共享内存实现 ... windows
正在选择默认最大连接数 (max_connections) ... 100
正在选择默认共享缓冲区 (shared_buffers) ... 128MB
正在选择默认时区 ... Asia/Shanghai
正在创建配置文件 ... 成功
正在运行启动脚本 ... 成功
正在执行启动脚本后续初始化 ... 成功
正在同步数据到磁盘 ... 成功
initdb: 警告: 为本地连接启用 "trust" 身份验证
initdb: 提示: 你可以通过编辑 pg_hba.conf 或下次运行 initdb 时使用 -A 或者 --auth-local 和 --auth-host 选项进行更改.
成功。你现在可以用下面的命令开启数据库服务器:
^"D^:^\Scoop^\apps^\postgresql^\current^\bin^\pg^_ctl^" -D ^"D^:^\Scoop^\apps^\postgresql^\current^\data^" -l logfile start
done.
'postgresql' (18.3) was installed successfully!
Notes
-----
Run 'pg_ctl start' to start the database and 'pg_ctl stop' to stop it.
Register it as a service by running 'pg_ctl register -N PostgreSQL' from an elevated shell.
Default superuser login: postgres, password: <blank>
1.2.3 修改密码
启动
bash
pg_ctl start
等待服务器进程启动 ....2026-02-28 11:15:24.197 CST [10924] LOG: starting PostgreSQL 18.3 on x86_64-windows, compiled by msvc-19.44.35222, 64-bit
2026-02-28 11:15:24.201 CST [10924] LOG: listening on IPv6 address "::1", port 5432
2026-02-28 11:15:24.201 CST [10924] LOG: listening on IPv4 address "127.0.0.1", port 5432
2026-02-28 11:15:24.522 CST [29296] LOG: database system was shut down at 2026-02-28 11:14:12 CST
2026-02-28 11:15:24.567 CST [10924] LOG: database system is ready to accept connections
完成
服务器进程已经启动
登录修改密码
bash
登录
psql -U postgres -d postgres
修改密码
\password postgres
Enter new password for user "postgres":
再输入一遍:
修改完密码记得把数据目录data下的 pg_hba.conf改下,把里面的 trust 改成 scram-sha-256,trust是不需要密码的
1.3 使用pgAdmin

打开如下:
