PostgreSQL基础之安装

文章目录

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

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

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-256trust是不需要密码的

1.3 使用pgAdmin

打开如下:

相关推荐
2601_961194021 天前
2026四级词汇闪过电子版|高频词+真题词速记PDF
数据库·python·django·pdf·pygame
六月雨滴1 天前
SQL 索引优化
数据库·sql·oracle·dba
倒流时光三十年1 天前
PostgreSQL HOT 优化 - 大白话解释
数据库·postgresql·hot
Boop_wu1 天前
[Java EE进阶] 博客系统
数据库·sql
Juicedata1 天前
JuiceFS 1.4|大规模元数据操作优化:批量删除、克隆与 Redis 缓存全解析
数据库·redis·缓存
这个DBA有点耶1 天前
SQL改写实战(续):子查询vs JOIN的深层原理
数据库·sql
yyuuuzz1 天前
独立站搭建的几个核心技术问题
运维·服务器·网络·数据库·aws
小蒋学算法1 天前
redis分布式锁实现
数据库·redis·分布式
白菜欣1 天前
【MySQL】MySQL数据的增删改查(入门版)
数据库·mysql