PostgreSQL基础之安装

1 PostgreSQL安装

1.1 官网安装

官网:https://www.postgresql.org/

1.1.1 下载

c5d6b0b15fdf9d05f7d6b994081df1c6_697d7c337c2b437397c12a6e253c9ea6.png
8cfd3d7d92d875efed146615eeeeca54_3f1e7523bbe24c86adcd06c30828e622.png
e8475d193401dcef463d0b481f47fddc_4626121be6de44ecbc671079acd6a7e1.png
f581745a05da2301729cd89373655484_b6b02059464145aab05a201980c7345c.png

1.1.2 exe安装

bf00af8d6e0ef201f4cbe1f6d62a5e38_b922b6eacdfe40e0b47a26e95909fbd1.png
9dac32a065df34bbbdd8032afc69c41c_491f0be6054f4d248c51e879d2dcb3a3.png
4a68a9480c7b222a2f5e0d7ad94d4ef0_36c8d3480c2244e8b231d0cfbb5d68f2.png
d970c9fe8f7f0cbb3166cb85500f5293_fd6e60670ca34a8f98f7447226549db8.png

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


713aabe6feb4d20b4dacf5f3c619d139_c10875d5ef2b4f61a9efac61797dd919.png

设置密码,账号默认为postgres


8c39b9c8590bb65fa89fc87a3f466d89_bae00791648945bb94bceb899d6116fa.png

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


73bf9f01675af3a31989704f10c48599_ffdd970c167043a48beb920b8acf0bae.png

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


948fbfacc7b9959e36009fd6b1c5f24a_5ce1c03c7ebb4cd9b4664437b8125aaf.png

1.1.3 zip安装

下载解压:

解压到 C:\pgsql
# 解压后结构:
C:\pgsql\
├── bin\          # 可执行文件
├── lib\          # 库文件
├── share\        # 共享文件、扩展
├── symbols\      # 调试符号(可删除)
└── pgAdmin 4\    # 图形工具(部分版本)

初始化数据库集群
这是最关键的一步,创建数据目录和系统表:

# 创建数据目录
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

方式一:前台启动(调试/临时)

# 前台运行,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"

连接测试

# 使用 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安装

点击了解Win环境下包管理工具

1.2.1 查询PostgreSQL

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 安装

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 修改密码

启动

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
 完成
服务器进程已经启动

登录修改密码

登录
psql -U postgres -d postgres

修改密码
\password postgres
Enter new password for user "postgres":
再输入一遍:

修改完密码记得把数据目录data下的 pg_hba.conf改下,把里面的 trust 改成 scram-sha-256trust是不需要密码的

1.3 使用pgAdmin

f7f0ef0d09edc8d444f16d8d6707f950_129c081e63b849278fc3115b56a9838e.png

打开如下:


0aafa02d5431af7f49ebd50ecdc902cf_fef002ea8bbf43219300ec4a19d57a63.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容