客製PostgreSQL之el9之rpm (Redhat/CentOS/Rocky/Oracle)

PostgreSQL可進行客製rpm,以進行商業化或客製,可從官方的src rpm中來下載安裝編譯,可省下許多時間而不用自己手動刻spec,例如曾遇過SUSE 12 在不同發行版本之PostgreSQL rpm造成extension部分功能無法使用,此時如果用此方法也許就可以解決這問題。此外用此方法比起單純tar ball編譯還有多了systemd的service等功能,也是方便許多。

本次示範環境於以Rocky Linux 9為例,也可用Redhat 或 CentOS 等版本

到PostgreSQL官網下載src rpm,並進行安裝

wget https://download.postgresql.org/pub/repos/yum/srpms/16/redhat/rhel-9-x86_64/orafce_16-4.9.2-1PGDG.rhel9.src.rpm
rpm -ivh orafce_16-4.9.2-1PGDG.rhel9.src.rpm

可以看到在家目錄下有rpmbuild的目錄,然後有SPECS和SOURCES都已放置

設置SPEC,然後rpmbuild來建置rpm

rpmbuild -bb postgresql-16.spec

等一陣子完成後,可以看到在RPMS的目錄中就有rpm了

當然也可以進行客製化建置修改編譯與新增功能,例如:

而此方法也可以用於客製化extension,如下:

rpmbuild的參考文件可以參考Redhat的官方手冊:

Last updated