linux安裝postgresql三種方式

賀子_DBA時代發表於2022-11-15

linux下安裝PostgreSQL可採用三種方式,二進位制已編繹安裝包、安裝、原始碼安裝三種方式進行安裝

方式1:yum安裝,建議使用這種

參看官方文件如下地址:

sudo yum install -y

sudoyum install -y postgresql15-server

sudo /usr/pgsql-15/bin/postgresql-15-setup initdb

sudo systemctl enable postgresql-15

sudo systemctl start postgresql-15

預設postgreql 安裝在/usr/pgsql-14,資料儲存目錄:/var/lib/pgsql/版本號/data,在實際生產中/var可能存在硬碟空間不足的問題,我們一般將資料儲存目錄放在掛載的硬碟如/data下( 包括配置檔案,日誌目錄都在這個目錄下)

只需要修改下啟動引數即可!

vi /usr/lib/systemd/system/postgresql-15.service

修改為Environment=PGDATA=/data/postgresql/data #修改成新的資料庫目錄

systemctl daemon-reload #如果你是啟動的狀態下,修改的啟動引數,那麼就需要執行這個步驟,否則你關閉資料庫會報錯:Warning: postgresql-14.service changed on disk. Run 'systemctl daemon-reload' to reload units.

初始化即可完成初始化到新指定的目錄了!注意需要先關閉資料庫!前提是目錄已經建立了,可以不提前建立最後一級的子目錄,因為初始化的時候會自動建立最後一級的子目錄!

[root@B-JS25-BASE79-00 data1]# /usr/pgsql-15/bin/postgresql-15-setup initdb

區別於原始碼安裝的pgsql,原始碼安裝的時候如下所示初始化直接-D指定其他目錄:如下所示

/usr/local/pgsql/bin/initdb -D /data/postgresql/data

透過systemctl 啟動pg的時候,需要找啟動檔案postgresql-15.service中的Environment=PGDATA配置中的目錄,然後會找到配置檔案postgresql.conf,並會讀取裡面的引數data_directory的配置的資料目錄;

1)/usr/lib/systemd/system/postgresql-15.service 檔案中的Environment=PGDATA=/data/postgresql/data這個路徑, 控制初始化的路徑,並且決定啟動的時候去哪裡找配置檔案postgresql.conf

2)vim /etc/postgresql/9.6/main/postgresql.conf --data_directory引數控制資料庫的資料檔案目錄!

data_directory=‘/data/postgresql/datafile’

3)修改/usr/lib/systemd/system/postgresql-15.service後,建議執行reload

systemctl daemon-reload

4)資料檔案的目錄需要是700或者750,否則報錯,報錯資訊如下

data_directory=‘/data/postgresql/datafile’ #這個引數指定的目錄需要是700或者750許可權

Nov 15 00:31:46 B-JS25-BASE79-00 postmaster[1773]: 2022-11-15 00:31:46.799 CST [1773] DETAIL: Permissions should be u=rwx (0700) or u=rwx,g=rx (0750)

5)注意:/usr/lib/systemd/system/postgresql-15.service裡面的Environment=PGDATA=/data/postgresql/data和postgresql.conf 中data_directory引數指定的路徑需要保證一樣!否則無法啟動

方式2:二進位制已編繹安裝包,解壓即可啟動,這個好像不是官網的,感覺可下載的版本不全!

方式3:原始碼安裝

1、下載postgresql最新版:


2、解壓檔案:

tar zxvf postgresql-8.3.7.tar.gz

cd postgresql-8.3.7

3、編譯,指定安裝postgresql的路徑

./configure --prefix=/usr/local/pgsql

4、編譯:

make

5、安裝:

make install

6、建立使用者組和使用者:

groupadd postgres

useradd -g postgres postgres

7、建立資料庫庫檔案儲存目錄、給postgres賦予許可權:

mkdir /usr/local/pgsql/data

cd /usr/local/pgsql

chown postgres.postgres data

chmod 750 /usr/local/pgsql/data

8、編輯~/.bash_profile檔案

#vi ~/.bash_profile

設定以下的環境變數,

export PGHOME=/usr/local/pgsql

export PGDATA=/usr/local/pgsql/data

PATH=$PATH:$PGHOME/bin

export PATH

9、初始化資料庫目錄:

切換使用者(root也可以)

su - postgresql

初始化資料 -D指定初始化建立的資料庫的檔案路徑

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29654823/viewspace-2923532/,如需轉載,請註明出處,否則將追究法律責任。

相關文章