超详细 PostgreSQL 安装教程,附入门常用操作语句

一、postgreSQL安装

下载地址:PostgreSQL:下载

windows

1、操作步骤

1、下载页面选择windows操作系统进入,点击Download the installer跳转版本下载列表,这里选择最新版本postgreSQL 18 -Windows x86-64下载
download

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

1

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

2

组件介绍

(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

3

安装postgresql完成后,如果勾选了 Stack builder 会自动启动一个附加组件安装器。它可以帮助我们安装扩展工具、数据库驱动等,本篇教程只记录安装步骤暂不安装其他组件,所以直接关闭窗口

linux安装(系统centos8)

联网情况下 安装postgres18

1、添加官方yum源、地址:PostgreSQL:Linux 下载(Red Hat 家族)

linux_1

在页面中选择平台版本及数据库版本,将生成的命令粘贴至终端执行

# 安装官方仓库
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文件示例图:
image

基本常用命令

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
posted @ 2026-06-02 13:50  小码农的后端学习手记  阅读(289)  评论(0)    收藏  举报