PostgreSQL
一、硬件与系统要求
1.1 硬件要求
- CPU:至少 2 核
- 内存:至少 4GB
- 磁盘:至少 50GB 可用空间
- 网络:100Mbps 以上
1.2 系统要求
- Linux:RHEL 7/8/9,Ubuntu 18.04/20.04/22.04
- Windows:Windows Server 2016/2019/2022
- macOS:10.14+
二、Linux 平台安装
2.1 RHEL/CentOS 系统
2.1.1 添加 PostgreSQL 仓库
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2.1.2 安装 PostgreSQL
sudo yum install -y postgresql14 postgresql14-server
2.1.3 初始化数据库
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
2.1.4 启动 PostgreSQL 服务
sudo systemctl start postgresql-14
sudo systemctl enable postgresql-14
2.2 Ubuntu 系统
2.2.1 添加 PostgreSQL 仓库
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.2.2 安装 PostgreSQL
sudo apt install -y postgresql-14
2.2.3 启动 PostgreSQL 服务
sudo systemctl start postgresql
sudo systemctl enable postgresql
三、Windows 平台安装
3.1 下载安装包
从 PostgreSQL 官网下载 Windows 安装包:https://www.postgresql.org/download/windows/
3.2 运行安装程序
- 双击安装包,按照提示进行安装
- 选择安装目录和数据目录
- 设置超级用户密码
- 选择端口号(默认 5432)
- 完成安装
3.3 配置环境变量
将 PostgreSQL 的 bin 目录添加到系统环境变量 PATH 中,默认路径为:C:\Program Files\PostgreSQL\14\bin
风哥提示:数据库升级过程中请确保备份完整数据,以防意外情况发生。 学习交流加群风哥QQ113257174 学习交流加群风哥微信: itpux-com
四、配置 PostgreSQL
4.1 配置文件
Linux 系统:/var/lib/pgsql/14/data/postgresql.conf
更多视频教程www.fgedu.net.cn 更多视频教程www.fgedu.net.cn
Windows 系统:C:\Program Files\PostgreSQL\14\data\postgresql.conf
风哥提示:数据库升级过程中请确保备份完整数据,以防意外情况发生。 风哥提示:数据库升级过程中请确保备份完整数据,以防意外情况发生。 风哥提示:数据库升级过程中请确保备份完整数据,以防意外情况发生。 from:www.itpux.com
4.2 基本配置示例
# 监听地址
listen_addresses = '0.0.0.0'
# 端口
port = 5432
# 最大连接数
max_connections = 100
# 共享内存
shared_buffers = 1GB
# 工作内存
work_mem = 32MB
# 维护工作内存
maintenance_work_mem = 256MB
4.3 配置访问控制
修改 pg_hba.conf 文件:
学习交流加群风哥微信: itpux-com 学习交流加群风哥微信: itpux-com from:www.itpux.com 学习交流加群风哥QQ113257174 from:www.itpux.com
# 允许本地连接
local all all peer
# 允许 IPv4 连接
host all all 127.0.0.1/32 scram-sha-256
host all all 192.168.1.0/24 scram-sha-256
# 允许 IPv6 连接
host all all ::1/128 scram-sha-256
4.4 重启服务应用配置
sudo systemctl restart postgresql-14
五、用户与权限管理
5.1 切换到 postgres 用户
sudo -u postgres psql
5.2 创建用户
CREATE USER admin WITH PASSWORD 'yourpassword' SUPERUSER;
5.3 创建数据库
CREATE DATABASE testdb OWNER admin;
5.4 授予权限
GRANT ALL PRIVILEGES ON DATABASE testdb TO admin;
六、常用操作
6.1 连接数据库
psql -U admin -d testdb -h localhost
6.2 创建表
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
age INTEGER,
email VARCHAR(255) UNIQUE
);
6.3 插入数据
INSERT INTO users (name, age, email) VALUES ('张三', 30, 'zhangsan@example.com');
6.4 查询数据
SELECT * FROM users;
6.5 更新数据
UPDATE users SET age = 31 WHERE id = 1;
6.6 删除数据
DELETE FROM users WHERE id = 1;
七、监控与维护
7.1 查看服务状态
sudo systemctl status postgresql-14
7.2 查看日志
tail -f /var/lib/pgsql/14/data/log/postgresql-*.log
7.3 备份数据
pg_dump -U admin -d testdb -f /backup/testdb.sql
7.4 恢复数据
psql -U admin -d testdb -f /backup/testdb.sql
7.5 Vacuum 操作
VACUUM ANALYZE;
八、故障排查
8.1 服务无法启动
- 检查端口是否被占用:
netstat -tulpn | grep 5432 - 检查日志文件:
cat /var/lib/pgsql/14/data/log/postgresql-*.log - 检查权限:
ls -la /var/lib/pgsql/14/data/
8.2 连接失败
- 检查服务是否运行:
sudo systemctl status postgresql-14 - 检查防火墙设置:
sudo firewall-cmd --list-ports - 检查 pg_hba.conf 配置
8.3 性能问题
- 查看慢查询:
SELECT * FROM pg_stat_activity WHERE state = 'active'; - 分析表:
ANALYZE users; - 检查索引:
i
提示:PostgreSQL 默认端口为 5432,生产环境中建议修改默认端口并加强安全配置。
警告:生产环境中务必启用密码认证,定期备份数据,确保数据安全。
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
