PostgreSQL 是一款强大的开源关系型数据库,以其高扩展性、SQL 标准兼容性和丰富的功能著称。本文将从零开始,手把手教你完成 PostgreSQL 的安装、配置,并掌握最基础的数据库操作命令。全文包含 30+个实操代码示例,覆盖 Windows、Linux、macOS 三大平台。
一、安装 PostgreSQL
1.1 Windows 系统安装
步骤 1:下载安装包
访问 PostgreSQL 官网,选择对应版本的安装包(如 PostgreSQL 15.4)。
下载完成后,双击 .exe
文件启动安装向导。
步骤 2:配置安装选项
- 选择组件:默认勾选 PostgreSQL Server、pgAdmin(图形化管理工具)、Stack Builder(扩展管理工具)。
- 设置安装路径:建议保持默认路径
C:\Program Files\PostgreSQL\15
。 - 设置超级用户密码:为默认的
postgres
用户设置强密码(如MySecureP@ssw0rd
)。 - 设置端口号:默认端口为
5432
,若无冲突建议保持默认。
步骤 3:完成安装
安装完成后,勾选 “Launch Stack Builder” 安装常用扩展(如 PostGIS),但非必需。
验证安装:
打开命令提示符,输入以下命令检查版本:
psql --version
若输出类似 psql (PostgreSQL) 15.4
,则安装成功。
1.2 Linux 系统安装(以 Ubuntu 为例)
步骤 1:添加仓库并更新
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
步骤 2:安装 PostgreSQL
sudo apt install postgresql-15
步骤 3:验证服务状态
sudo systemctl status postgresql
若显示 active (running)
,则服务已启动。
1.3 macOS 系统安装
步骤 1:使用 Homebrew 安装
brew install postgresql@15
步骤 2:启动服务
brew services start postgresql@15
步骤 3:验证安装
psql -V
二、配置 PostgreSQL
2.1 修改配置文件
文件位置
- 主配置文件:
postgresql.conf
(路径示例:/etc/postgresql/15/main/postgresql.conf
) - 客户端认证文件:
pg_hba.conf
关键配置项
允许远程访问:
修改postgresql.conf
:listen_addresses = '*' # 允许所有IP连接 port = 5432 # 默认端口
设置最大连接数:
max_connections = 100 # 根据硬件调整
修改认证方式(
pg_hba.conf
):# 允许所有IP通过密码访问 host all all 0.0.0.0/0 scram-sha-256
重启服务生效
sudo systemctl restart postgresql # Linux
pg_ctl restart -D /usr/local/var/postgres # macOS
2.2 创建新用户与数据库
步骤 1:登录默认账户
sudo -u postgres psql # Linux/macOS
psql -U postgres # Windows
步骤 2:创建新用户
CREATE USER myuser WITH PASSWORD 'user123';
步骤 3:创建数据库并授权
CREATE DATABASE mydb OWNER myuser;
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
三、基础命令操作
3.1 使用 psql
命令行工具
登录数据库
psql -U myuser -d mydb -h 127.0.0.1 -p 5432
-U
:用户名-d
:数据库名-h
:主机地址-p
:端口号
常用元命令
命令 | 说明 | 示例输出片段 | ||
---|---|---|---|---|
\l |
列出所有数据库 | `mydb \ | myuser \ | UTF8` |
\c dbname |
切换数据库 | You are now connected to database "mydb" |
||
\dt |
列出当前数据库的所有表 | `public \ | users \ | table` |
\d+ tablename |
查看表结构详情 | 列名、类型、约束等信息 | ||
\q |
退出 psql | - |
3.2 数据库与表操作
创建表
CREATE TABLE employees (
id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
salary NUMERIC(10,2),
hire_date DATE DEFAULT CURRENT_DATE
);
插入数据
INSERT INTO employees (name, salary) VALUES
('Alice', 75000.50),
('Bob', 82000.00);
查询数据
SELECT * FROM employees WHERE salary > 80000;
输出示例:
id | name | salary | hire_date
----+-------+----------+------------
2 | Bob | 82000.00 | 2023-10-01
3.3 数据备份与恢复
备份数据库
pg_dump -U myuser -d mydb -f mydb_backup.sql
恢复数据库
psql -U myuser -d mydb -f mydb_backup.sql
四、常见问题与解决方案
4.1 连接被拒绝
错误信息:psql: error: connection to server at "localhost" (::1), port 5432 failed: FATAL: password authentication failed for user "myuser"
解决方法:
- 检查
pg_hba.conf
中是否允许用户连接。 - 确认密码是否正确:
ALTER USER myuser WITH PASSWORD 'new_password';
4.2 端口冲突
错误信息:psql: error: could not connect to server: could not connect to server: Connection refused
解决方法:
- 检查 PostgreSQL 服务是否运行:
sudo systemctl status postgresql
- 查看端口占用:
netstat -tuln | grep 5432
4.3 忘记 postgres 用户密码
重置密码:
- 停止 PostgreSQL 服务。
- 以单用户模式启动:
postgres --single -D /var/lib/postgresql/15/main
- 执行密码修改:
ALTER USER postgres WITH PASSWORD 'new_password';
五、总结
通过本文,你已完成以下核心任务:
- 在 Windows/Linux/macOS 上安装 PostgreSQL。
- 配置远程访问和用户权限。
- 掌握
psql
命令行工具的基本操作。 - 执行 SQL 语句创建表、插入数据及查询。
下一步学习建议:
- 探索
pgAdmin
图形化工具管理数据库。 - 学习使用
JOIN
操作关联多表数据(见本系列第5篇)。
附:命令速查表
场景 | 命令示例 |
---|---|
创建用户 | CREATE USER username WITH PASSWORD 'password'; |
创建数据库 | CREATE DATABASE dbname OWNER username; |
授权用户 | GRANT ALL PRIVILEGES ON DATABASE dbname TO username; |
导出表结构 | pg_dump -s -U user -d dbname -t tablename > schema.sql |
查看当前连接 | SELECT * FROM pg_stat_activity; |