以面向那些巴望着于生产环境里头去部署稳定关系型数据库的用户来讲,CentOS 7跟PostgreSQL 9.6的搭配曾是个经典且靠谱的选项。此搭配给予了企业级操作系统给到的长周期安全维护,还有一个功能完备、性能出色的数据库版本。就算是在新版本持续冒出来的当下,不少遗留系统依旧运行于这一架构之上,其在部署跟运维当中的具体实践仍旧具备实际的参考意义 。确切知晓其技术特性,精准把握配置要点,并明晓潜在的升级路径,这对于维护现有的系统而言是极为关键的,对于开展技术选型评估来说同样是至关重要的。
为什么现在还要考虑使用PostgreSQL 9.6
发布于2016年的PostgreSQL 9.6版本,其官方支持在2021年11月终止了,这表明它不会再接收任何安全更新以及错误修复,如今考虑使用它,一般仅适用于那种需要跟特定老旧应用维持兼容的封闭内网环境,又或者当作学习特定历史版本特性的沙箱。

在新项目或者能够进行升级的现有系统当中,持续使用已经停止提供支持的版本,将会引发相当显著的安全方面的风险。社区不会再针对所发现的漏洞去提供补丁,如此一来系统极其容易遭受攻击。所以,要是不存在无法抗拒的兼容性方面的约束条件,那么就应当优先去考虑迁移至受到支持的版本。
如何在CentOS 7上安装PostgreSQL 9.6
若确实需要进行安装,一般说来要借助PostgreSQL官方仓库去获取安装包。首先要添加仓库配置,即执行:sudo yum install -y 。添加成功之后,就能够直接进行安装,具体为:使用sudo yum install -y postgresql96-server postgresql96这种方式来安装。

完成安装之后,得对数据库集群进行初始化操作:即执行sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb这个指令才行 。随后要启动服务并且设置为开机自动启动:也就是分别执行sudo systemctl start postgresql-9.6以及sudo systemctl enable postgresql-9.6这两条命令 。到了这个时候,数据库服务的基础运行环境就算是搭建妥当了 。
PostgreSQL 9.6的基本配置与安全设置
首要任务是在安装之后开展基本的安全配置之举。有一个名为/var/lib/pgsql/9.6/data/pg_hba.conf的文件,此文件对客户端认证起着控制作用centos postgresql9.6,要编辑这个文件。初始配置或许会准许本地“trust”认证,然而应当思考将其调整为“md5”或者更为安全的方式,用于生产环境这一方面。

postgresql.conf是另一个关键文件,它处于同一目录。像shared_buffers、work_mem等内存参数,要依据服务器硬件资源予以调整。而且,要检查listen_addresses配置项,要是允许远程连接,平日里会把它设置成“*”或者特定IP,还得保证防火墙放行默认的5432端口。
PostgreSQL 9.6的日常管理与维护操作
一般的日常管理涵盖使用者跟数据库发起构建行为,借由sudo -i -u postgres来切换至具备postgres身份的系统用户,进而进入psql这款命令行工具中,于此处能够执行SQL命令,像是借助CREATE USER去创建全新的角色,通过CREATE DATABASE构建数据库并明确指定其所有者。
核心在于定期备份的是维护工作,PostgreSQL给出了pg_dump以及pg_dumpall工具来开展逻辑备份,像对于单个数据库备份有pg_dump -U username dbname > backup.sql,而要是进行物理备份,就得结合文件系统快照或者运用pg_basebackup工具,管理工作里不可缺少的一环是制定并测试恢复预案。
PostgreSQL 9.6性能优化的关键参数
关于9.6版本,存在几个对性能有着显著影响的核心参数linux 版本,shared_buffers被用于进行数据缓存,一般而言,建议将其设置为系统内存的25%,effective_cache_size向优化器传达操作系统可用的磁盘缓存大小,能够设置为系统内存的50%至75%。
work_mem参数,它和查询执行相关,能决定排序以及哈希操作可使用的内存量。针对系统中复杂查询较多的情况,适当增大这个值,能够减少磁盘临时文件的使用。另外,要保证maintenance_work_mem拥有足够的值,这样可以加快VACUUM以及创建索引等维护操作的速度。
从PostgreSQL 9.6升级到新版本的路径

把数据从9.6转移到可受支持的新版本(像PostgreSQL 12以及更高版本等),主要存在两种方式。逻辑转储跟恢复是兼容性最为良好的办法linux虚拟机,也就是运用高版本的pg_dump工具去把9.6的数据导出,然后再导入至新版本数据库里。这种办法准许跨大版本进行迁移centos postgresql9.6,不过停机时间比较长。
一种别样的途径是运用pg_upgrade工具来实施就地升级,它借由链接旧数据文件这一办法极大地缩减升级用时。但这种方式针对操作系统、软件位宽等环境的要求颇为严苛,而且平常仅支持相邻大版本。不管采取哪一种方式,在升级之前都必定要对原数据库予以万全备份,并且要在测试环境里充分加以验证。
您当下维护着的系统里头,有没有还在运行着的PostgreSQL 9.6实例呢?致使您决意进行升级或者暂且不升级的最为主要的因素是什么呀?欢迎于评论区去分享您的经验以及看法,要是觉着本文有帮助的话,请点赞并且分享给更多有着需要的朋友。
