searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

PostgreSQL 部署基础手册

2025-06-27 02:42:36
0
0

适用于 Linux 系统(如 Ubuntu 20.04+)。包含 PostgreSQL 安装、初始化、常用插件配置等内容。


📦 1. 安装 PostgreSQL

# 更新软件包
sudo apt update && sudo apt upgrade -y
​
# 安装 PostgreSQL
sudo apt install -y postgresql postgresql-contrib
​
# 检查服务状态
sudo systemctl status postgresql
​
# 设置开机自启
sudo systemctl enable postgresql
​

👤 2. 创建数据库用户与数据库

# 切换到 postgres 用户
sudo -i -u postgres
​
# 创建数据库用户
createuser <your_user> --pwprompt
​
# 创建数据库并指定所有者
createdb <your_db> -O <your_user>
​
# 退出 postgres 用户
exit

🔐 3. 修改远程访问设置(可选)

# 修改监听地址(默认为本地,改为监听所有)
sudo vim /etc/postgresql/*/main/postgresql.conf
# 找到:
# listen_addresses = 'localhost'
# 修改为:
listen_addresses = '*'
​
# 修改访问控制规则
sudo vim /etc/postgresql/*/main/pg_hba.conf
# 添加一行(允许远程连接):
host    all             all             0.0.0.0/0               md5
​
# 重启服务使配置生效
sudo systemctl restart postgresql

🔌 4. 安装与启用常见插件(扩展)

切换到 PostgreSQL 客户端:

sudo -u postgres psql -d <your_db>

✅ 启用常用插件(推荐)

-- uuid 生成插件
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
​
-- 查询统计插件
CREATE EXTENSION IF NOT EXISTS "pg_stat_statements";
​
-- 地理空间插件(需预安装)
CREATE EXTENSION IF NOT EXISTS "postgis";
​
-- hstore 键值存储
CREATE EXTENSION IF NOT EXISTS "hstore";
​
-- citext 大小写不敏感文本
CREATE EXTENSION IF NOT EXISTS "citext";
​
-- ltree 层级路径查询
CREATE EXTENSION IF NOT EXISTS "ltree";

postgis 插件可能需要预安装依赖:

sudo apt install -y postgresql-14-postgis-3 postgresql-14-postgis-3-scripts

📊 5. 启用性能监控与日志插件

编辑配置文件启用 pg_stat_statements:

sudo vim /etc/postgresql/*/main/postgresql.conf
​
# 添加或取消注释以下配置
shared_preload_libraries = 'pg_stat_statements'
track_activity_query_size = 2048
pg_stat_statements.max = 10000
pg_stat_statements.track = all
​
# 重启服务
sudo systemctl restart postgresql

🔧 6. 常见优化建议(基础版)

# 修改 postgresql.conf 中建议参数(根据实例内存调整)
​
shared_buffers = 1GB
work_mem = 64MB
maintenance_work_mem = 256MB
effective_cache_size = 3GB
wal_buffers = 16MB
checkpoint_completion_target = 0.9
default_statistics_target = 100

🧪 7. 测试连接

# 本地测试连接
psql -U <your_user> -d <your_db> -h localhost
​
# 远程测试连接(需开放端口)
psql -U <your_user> -d <your_db> -h <your_host_ip> -p 5432

🔁 8. 备份与恢复(推荐使用 pg_dump)

# 备份数据库
pg_dump -U <your_user> -F c -b -v -f <your_db>.backup <your_db>
​
# 恢复数据库
pg_restore -U <your_user> -d <your_db> -v <your_db>.backup

📚 9. 插件推荐速查表

插件名 功能描述 启用命令
uuid-ossp UUID 生成 CREATE EXTENSION "uuid-ossp";
pg_stat_statements SQL 性能分析 CREATE EXTENSION "pg_stat_statements";
postgis 地理空间查询 CREATE EXTENSION "postgis";
hstore 键值存储 CREATE EXTENSION "hstore";
citext 忽略大小写的文本类型 CREATE EXTENSION "citext";
ltree 树形路径查询 CREATE EXTENSION "ltree";

0条评论
0 / 1000
Maxwell
4文章数
0粉丝数
Maxwell
4 文章 | 0 粉丝
原创

PostgreSQL 部署基础手册

2025-06-27 02:42:36
0
0

适用于 Linux 系统(如 Ubuntu 20.04+)。包含 PostgreSQL 安装、初始化、常用插件配置等内容。


📦 1. 安装 PostgreSQL

# 更新软件包
sudo apt update && sudo apt upgrade -y
​
# 安装 PostgreSQL
sudo apt install -y postgresql postgresql-contrib
​
# 检查服务状态
sudo systemctl status postgresql
​
# 设置开机自启
sudo systemctl enable postgresql
​

👤 2. 创建数据库用户与数据库

# 切换到 postgres 用户
sudo -i -u postgres
​
# 创建数据库用户
createuser <your_user> --pwprompt
​
# 创建数据库并指定所有者
createdb <your_db> -O <your_user>
​
# 退出 postgres 用户
exit

🔐 3. 修改远程访问设置(可选)

# 修改监听地址(默认为本地,改为监听所有)
sudo vim /etc/postgresql/*/main/postgresql.conf
# 找到:
# listen_addresses = 'localhost'
# 修改为:
listen_addresses = '*'
​
# 修改访问控制规则
sudo vim /etc/postgresql/*/main/pg_hba.conf
# 添加一行(允许远程连接):
host    all             all             0.0.0.0/0               md5
​
# 重启服务使配置生效
sudo systemctl restart postgresql

🔌 4. 安装与启用常见插件(扩展)

切换到 PostgreSQL 客户端:

sudo -u postgres psql -d <your_db>

✅ 启用常用插件(推荐)

-- uuid 生成插件
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
​
-- 查询统计插件
CREATE EXTENSION IF NOT EXISTS "pg_stat_statements";
​
-- 地理空间插件(需预安装)
CREATE EXTENSION IF NOT EXISTS "postgis";
​
-- hstore 键值存储
CREATE EXTENSION IF NOT EXISTS "hstore";
​
-- citext 大小写不敏感文本
CREATE EXTENSION IF NOT EXISTS "citext";
​
-- ltree 层级路径查询
CREATE EXTENSION IF NOT EXISTS "ltree";

postgis 插件可能需要预安装依赖:

sudo apt install -y postgresql-14-postgis-3 postgresql-14-postgis-3-scripts

📊 5. 启用性能监控与日志插件

编辑配置文件启用 pg_stat_statements:

sudo vim /etc/postgresql/*/main/postgresql.conf
​
# 添加或取消注释以下配置
shared_preload_libraries = 'pg_stat_statements'
track_activity_query_size = 2048
pg_stat_statements.max = 10000
pg_stat_statements.track = all
​
# 重启服务
sudo systemctl restart postgresql

🔧 6. 常见优化建议(基础版)

# 修改 postgresql.conf 中建议参数(根据实例内存调整)
​
shared_buffers = 1GB
work_mem = 64MB
maintenance_work_mem = 256MB
effective_cache_size = 3GB
wal_buffers = 16MB
checkpoint_completion_target = 0.9
default_statistics_target = 100

🧪 7. 测试连接

# 本地测试连接
psql -U <your_user> -d <your_db> -h localhost
​
# 远程测试连接(需开放端口)
psql -U <your_user> -d <your_db> -h <your_host_ip> -p 5432

🔁 8. 备份与恢复(推荐使用 pg_dump)

# 备份数据库
pg_dump -U <your_user> -F c -b -v -f <your_db>.backup <your_db>
​
# 恢复数据库
pg_restore -U <your_user> -d <your_db> -v <your_db>.backup

📚 9. 插件推荐速查表

插件名 功能描述 启用命令
uuid-ossp UUID 生成 CREATE EXTENSION "uuid-ossp";
pg_stat_statements SQL 性能分析 CREATE EXTENSION "pg_stat_statements";
postgis 地理空间查询 CREATE EXTENSION "postgis";
hstore 键值存储 CREATE EXTENSION "hstore";
citext 忽略大小写的文本类型 CREATE EXTENSION "citext";
ltree 树形路径查询 CREATE EXTENSION "ltree";

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0