文章目錄
- 環境
- 一、準備
- 二、postgresql下載
- 方法一:wget下載
- 方法二:下載壓縮包
- 解壓
- 三、創建用戶組、用戶
- 四、創建數據主目錄
- 五、配置環境變量
- 六、initdb初使化數據庫
- 七、配置服務
- 八、設置開機自啟動
- 九、設置防火墻
- 十、啟動數據庫服務
環境
CPU: 4 核心或以上
內存: 8 GB 或以上
硬盤: 50 GB 或更多的
SSD 空間 網絡: 1 Gbps
一、準備
1.安裝依賴包
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake
2.安裝ICU庫
yum install -y libicu libicu-devel
3.創建目錄
mkdir /soft
mkdir -p /opt/pgsql/postgresql
二、postgresql下載
下載到soft目錄下
cd /soft/
方法一:wget下載
yum -y install wget
yum install -y ca-certificates
wget https://ftp.postgresql.org/pub/source/v16.3/postgresql-16.3.tar.gz
方法二:下載壓縮包
下載地址:https://www.postgresql.org/ftp/source/v16.3/
解壓
先將文件夾解壓
tar -zxvf postgresql-16.3.tar.gz
進入解壓后的文件夾
cd postgresql-16.3
ls
編譯postgresql源碼
./configure --prefix=/opt/pgsql/postgresql
源碼編譯安裝
make
make install
三、創建用戶組、用戶
groupadd postgres
useradd -g postgres postgres
四、創建數據主目錄
cd /opt/pgsql/postgresql
mkdir data
chown postgres:postgres data
五、配置環境變量
進入home/postgres目錄找到.bash_profile文件
cd /home/postgres/
ls -la
打開.bash_profile
vi .bash_profile
在.bash_profile中添加:
export PGHOME=/opt/pgsql/postgresql
export PGDATA=$PGHOME/data
export PATH=$PATH:$HOME/bin:$PGHOME/bin
使環境變量生效
source .bash_profile
六、initdb初使化數據庫
切換用戶到postgres并使用initdb初使化數據庫
su - postgres
initdb
七、配置服務
修改/opt/pgsql/postgresql/data目錄下postgresql.conf文件
cd /opt/pgsql/postgresql/data
vi postgresql.conf
修改/opt/pgsql/postgresql/data目錄下pg_hba.conf 文件
vi pg_hba.conf
八、設置開機自啟動
添加linux文件屬性并復制到/etc/init.d目錄下,更名為postgresql然后修改/etc/init.d/postgresql文件的兩個變量
su root
cd /soft/postgresql-16.3/contrib/start-scripts
chmod a+x linux
cp linux /etc/init.d/postgresql
vi /etc/init.d/postgresql
設置postgresql服務開機自啟動
chkconfig --add postgresql
chkconfig
九、設置防火墻
安裝依賴包設置防火墻添加postgresql服務到防火墻,并加載
yum -y install firewalld
systemctl start firewalld
systemctl status firewalld
firewall-cmd --permanent --zone=public --add-service=postgresql
firewall-cmd --reload
十、啟動數據庫服務
啟動PostgreSQL服務并測試
service postgresql start
ps -ef | grep postgres
su - postgres
psql