超详细 PostgreSQL 安装教程,附入门常用操作语句
一、postgreSQL安装
下载地址:PostgreSQL:下载
windows
1、操作步骤
1、下载页面选择windows操作系统进入,点击Download the installer跳转版本下载列表,这里选择最新版本postgreSQL 18 -Windows x86-64下载

2、双击运行安装程序,弹出安装向导

直接Next----->选择安装路径----->选择组件(参考步骤图下有每个组件介绍提供了解)----->选择数据库数据目录可默认----->设置数据库超级用户密码(一定要记住很重要)----->设置端口默认5432----->选择locale(地区/语言)可默认----->后续就Next确认安装即可----->安装完成后点击finish

组件介绍
(1)、PostgreSQL Server✅ 必装
- 作用:数据库服务本身,核心组件。没有它,就没有 PostgreSQL 数据库。
- 功能:负责数据存储、SQL 解析、事务处理、权限管理等所有核心功能。
- 是否建议安装:必须勾选,否则等于没装 PostgreSQL。
(2)、pgAdmin 4 ✅ 推荐安装
- 作用:官方提供的图形化管理工具。
- 功能:
- 可视化创建 / 修改表、视图、用户
- 图形化执行 SQL、查看执行计划
- 备份 / 恢复数据库、监控状态
- 是否建议安装:新手强烈建议勾选,有它不用记复杂命令;如果只用命令行或其他工具(如 DBeaver),可以不装。
(3)、Stack Builder⚙️ 可选安装
- 作用:PostgreSQL 的 “附加组件安装器”。
- 功能:
- 安装各种第三方扩展(如 PostGIS 地理信息、PL/Java 存储过程语言等)
- 安装驱动、工具、数据库客户端
- 是否建议安装:
- 普通开发:可以不装,后续需要扩展时再单独安装也可以
- 做 GIS、大数据等特殊场景:建议勾选,方便后续装扩展
(4)、Command Line Tools ✅ 强烈建议安装
- 作用:命令行客户端工具集。
- 包含:
psql(SQL 命令行客户端)、pg_dump(备份)、pg_restore(恢复)、createdb/dropdb等常用工具。 - 功能:
- 命令行连接数据库、执行 SQL
- 备份 / 恢复数据库(生产环境必备)
- 脚本化自动化运维
- 是否建议安装:强烈建议勾选,就算平时用图形工具,备份恢复等场景也离不开它。
3、验证是否安装成功,打开终端控制器输入(引号中为postgresql安装路径)
& "F:\postgresql\bin\psql.exe" --version
& "F:\postgresql\bin\psql.exe" -U postgres

安装postgresql完成后,如果勾选了 Stack builder 会自动启动一个附加组件安装器。它可以帮助我们安装扩展工具、数据库驱动等,本篇教程只记录安装步骤暂不安装其他组件,所以直接关闭窗口
linux安装(系统centos8)
联网情况下 安装postgres18
1、添加官方yum源、地址:PostgreSQL:Linux 下载(Red Hat 家族)

在页面中选择平台版本及数据库版本,将生成的命令粘贴至终端执行
# 安装官方仓库
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 禁止内置的postgresql模块
sudo dnf -qy module disable postgresql
# 安装postgresql
sudo dnf install -y postgresql18-server
# 初始化数据库
sudo /usr/pgsql-18/bin/postgresql-18-setup initdb
# 启动数据库
sudo systemctl enable postgresql-18
sudo systemctl start postgresql-18
使用的离线虚拟机下载rpm包进行安装
Windows 浏览器打开官网手动下载 rpm:
https://download.postgresql.org/pub/repos/yum/18/redhat/rhel-8-x86_64/
postgresql18-18.4-2PGDG.rhel8.10.x86_64.rpm
postgresql18-contrib-18.4-2PGDG.rhel8.10.x86_64.rpm
postgresql18-libs-18.4-2PGDG.rhel8.10.x86_64.rpm
postgresql18-server-18.4-2PGDG.rhel8.10.x86_64.rpm
找到以上四个rpm包下载,并拷到虚拟机上
# 创建目录,将上方四个rpm存放到该目录中
mkdir pg-offline
# 进入pg-offline目录,批量安装所有包
rpm -ivh *.rpm --nodeps
安装后初始化 & 启动(和在线一样)
/usr/pgsql-18/bin/postgresql-18-setup initdb
systemctl enable --now postgresql-18
systemctl status postgresql-18
安装后登录postgres18并设置密码
切换postgres内置用户(默认管理员账号)
su - postgres
进入psql数据库命令行
psql
修改postgres密码(示例密码 123456)
ALTER USER postgres WITH PASSWORD '123456';
# 修改后出现 ALTER ROLE 表示执行完毕,已成功
远程访问设置
vim /var/lib/pgsql/18/data/postgresql.conf 修改 listen_addresses = '*'
# 添加方式:在 IPv4 那一行下面新起一行写入
vim /var/lib/pgsql/18/data/pg_hba.conf 添加 host all all 0.0.0.0/0 scram-sha-256
#保存配置后重启postgres18
systemctl restart postgresql-18
#防火墙开放端口或关闭防火墙
sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload
pg_hba.conf文件示例图:

基本常用命令
linux终端进psql
# 切postgres用户登录
su - postgres
psql
# 直接指定库/用户登录
psql -U postgres -d 库名 -h 127.0.0.1
psql内退出
\q
数据库操作
1、查看所有数据库
-- psql快捷命令
\l
-- sql语句
SELECT datname FROM pg_database;
2、创建数据库
-- 最简创建
CREATE DATABASE testdb;
-- 指定所有者、编码(推荐)
CREATE DATABASE testdb OWNER postgres ENCODING 'UTF8';
3、删除数据库
DROP DATABASE IF EXISTS testdb;
4、切换数据库
-- psql快捷
\c testdb
-- sql
\connect testdb
用户/角色管理
1、新建用户
CREATE USER testuser WITH PASSWORD '123456';
-- 带创建库权限
CREATE USER testuser WITH PASSWORD '123456' CREATEDB;
2、修改用户密码
ALTER USER testuser WITH PASSWORD '新密码';
3、授权(用户访问指定库)
GRANT ALL PRIVILEGES ON DATABASE testdb TO testuser;
4、删除用户
DROP USER IF EXISTS testuser;
5、查看所有用户
\du
SELECT usename FROM pg_user;
数据表基础操作
-- 查看当前库所有表
\dt
-- 创建示例表
CREATE TABLE t_user(
id int primary key,
name varchar(50)
);
-- 删表
DROP TABLE IF EXISTS t_user;
-- 插入数据
INSERT INTO t_user(id,name) VALUES(1,'张三');
-- 查询
SELECT * FROM t_user;
日常运维常用
1、查看数据库连接
SELECT pid,usename,datname,client_addr FROM pg_stat_activity;
2、备份/恢复数据库(Linux 终端执行,不用进 psql)
# 全库备份
pg_dump -U postgres testdb > testdb_20260602.sql
# 恢复库
psql -U postgres -d testdb < testdb_20260602.sql
3、查看pg版本
SELECT version();
\! psql --version
快捷反斜杠命令(psql 内置,高频)
| 命令 | 作用 |
|---|---|
| \l | 列出所有数据库 |
| \c 库名 | 切换数据库 |
| \dt | 查看当前库数据表 |
| \du | 查看所有用户 |
| \d 表名 | 查看表结构 |
| \q | 退出 psql |

浙公网安备 33010602011771号