ubuntu 安装 PG

执行以下命令来创建文件存储库配置
$ 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 -

apt-key 过时处理:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor > pgdg.gpg
sudo mv pgdg.gpg /etc/apt/trusted.gpg.d/pgdg.gpg

ubuntu 22.04 更新软件源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo bash -c "echo 'deb https://mirrors.aliyun.com/ubuntu/ $(lsb_release -sc) main restricted universe multiverse' > /etc/apt/sources.list"
sudo bash -c "echo 'deb https://mirrors.aliyun.com/ubuntu/ $(lsb_release -sc)-security main restricted universe multiverse' >> /etc/apt/sources.list"
sudo bash -c "echo 'deb https://mirrors.aliyun.com/ubuntu/ $(lsb_release -sc)-updates main restricted universe multiverse' >> /etc/apt/sources.list"
sudo bash -c "echo 'deb https://mirrors.aliyun.com/ubuntu/ $(lsb_release -sc)-backports main restricted universe multiverse' >> /etc/apt/sources.list"
sudo apt update


更新软件包列表
$ sudo apt-get update
安装PostgreSQL
安装最新版本PostgreSQL: sudo apt-get install postgresql
安装特定版本:sudo apt-get install postgresql-16

安装完查看版本psql --version
查看运行状态:systemctl status postgresql
停止服务:systemctl stop postgresql

到配置目录:cd /etc/postgresql/16/main
修改配置文件:vim pg_hba.conf 增加
host    replication     all            192.168.31.195/24        md5
或
host all all 0.0.0.0/0 md5
修改配置文件:vim postgresql.conf(http://www.bigqq.com/wp-admin/post.php?post=204&action=edit)
使配置生效:重启服务,或者数据库管理员执行SELECT pg_reload_conf()

修改数据文件路径

新增文件夹:mkdir -p pgdata/postgresql/16/main
修改文件夹权限
 chown -R postgres:postgres /home/postgresql
 chmod 750 -R /home/postgresql

复制原数据文件:rsync -av /var/lib/postgresql/16/main /mesdata/pgdata/postgresql/16

从主库中备份数据:

pg_basebackup -h 172.30.253.170  -D /mesdata/pgdata/postgresql/16/main -p 5432 -U postgres -Fp -Xs -Pv -R --checkpoint=fast

账户处理

一. 修改用户postgres的密码
PostgreSQL数据库默认创建管理员账号:postgres;修改其密码,仅需一下三步:

1、首先,登录PostgreSQL

sudo -u postgres psql postgres -p 5432
2、然后,修改账号postgres的密码

ALTER USER postgres WITH PASSWORD 'Lpf65BsDhDNdaJmH';           (---一定要加分号!!!!)
3、最后,退出pgsql客户端

exit

二. 修改linux系统postgres用户的密码


PostgreSQL都会创建一个默认的linux用户postgres,修改该用户密码的方法如下:

1、先删除用户postgres的历史密码

sudo passwd -d postgres
2、重新设置用户postgres的密码

sudo -u postgres passwd
3、按照系统提示,输入两次新的密码,即可搞定。

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

参数调优

https://zhengkai.blog.csdn.net/article/details/154301910

参数名称	PG16 默认值	建议优化值	参数含义与调优说明
shared_buffers	128MB	64GB	🔥 共享缓冲区:数据库缓存大小。建议设置为内存的25%,大幅减少磁盘I/O
effective_cache_size	4GB	192GB	💡 有效缓存:告诉优化器系统可用缓存大小,影响索引使用决策
random_page_cost	4.0	1.1	⚡ 随机页成本:SSD存储建议设为1.1,NVMe SSD可设为1.0
effective_io_concurrency	1	300	🚀 I/O并发度:高速SSD可大幅提升此值,充分发挥I/O性能
work_mem	4MB	128MB	🧠 工作内存:每个排序/哈希操作可用内存。注意总消耗 = work_mem × 操作数
maintenance_work_mem	64MB	2GB	🛠️ 维护内存:VACUUM、CREATE INDEX等操作的内存,显著加速维护任务
min_wal_size	80MB	1GB	📝 最小WAL大小:减少WAL文件循环,平滑I/O操作
max_wal_size	1GB	4GB	📝 最大WAL大小:大幅减少检查点频率,降低I/O压力
max_worker_processes	8	16	⚙️ 最大工作进程:设置为CPU核数,支持更多并行操作
max_parallel_workers_per_gather	2	8	🔄 并行工作进程:单个查询的并行度,平衡并发与性能
max_parallel_workers	8	16	⚙️ 最大并行工作进程:系统总并行工作进程数
max_parallel_maintenance_workers	2	4	🛠️ 维护并行度:加速索引创建、VACUUM等维护操作
checkpoint_completion_target	0.9	0.9	⏱️ 检查点完成目标:保持默认0.9,平滑检查点I/O

🎯 关键补充调优参数
参数名称	PG16 默认值	建议优化值	调优说明
autovacuum_max_workers	3	6	🔧 自动清理工作进程:增加清理进程数,应对高负载
autovacuum_vacuum_scale_factor	0.2	0.1	🧹 自动清理触发比例:更积极的清理,防止表膨胀
autovacuum_analyze_scale_factor	0.1	0.05	📊 自动分析触发比例:更频繁的统计信息更新
wal_buffers	-1 (自动)	16MB	📝 WAL缓冲区:显式设置为16MB,提升写入性能
default_statistics_target	100	500	📈 统计信息目标:更详细的统计信息,提升查询计划质量
max_connections	100	200-300	👥 最大连接数:根据应用需求调整,避免设置过高

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部