在RHEL 下安裝PostgreSQL

2022-05-08 06:51:09 字數 1684 閱讀 7475

二、初始化資料庫集群

postgresql把基於同乙個安裝例項的所有資料庫稱為集群(database cluster),實際就是初始化乙個供資料庫引擎使用的目錄。

1、新建乙個使用者,一般都取名為postgres(如果取別的名字,後面會遇到各種麻煩,所以還是老老實實取這個名字為好)

useradd postgres   #建立名為postgres的使用者

passwd postgres   #為postgres使用者設定密碼

然後編輯postgres的使用者目錄中的.bash_profile檔案,位置是/home/postgres/.bash_profile,這是乙個隱藏檔案,找到

path= 這一行,在行末新增":/usr/pgsql/bin",注意,不包括引號。儲存回到命令提示符時,執行source .bash_profile使配置檔案立即生效。

修改這個配置檔案主要是為了讓postgresql的各種命令處於shell的命令查詢路徑中,這樣我們後面輸入命令時,就可以不使用絕對路徑了。

2、新建乙個目錄,並賦予許可權

cd /usr/pgsql

mkdir data

chown -r postgres ./data  

最後一句的意思是,把新建的data目錄的擁有者置換為postgres使用者,這樣,postgres使用者對data目錄就擁有了足夠的許可權

3、使用該使用者,初始化資料庫集群

su - postgres

initdb -d /usr/pgsql/data

使用-u username,--username=username可以指定資料庫超級使用者的使用者名稱。 預設是執行 initdb 的使用者的有效使用者。 

4、如果使用預設的postgres使用者,那麼預設該使用者是沒有密碼的,需要執行下面的語句來新增密碼

psql

alter user postgres with password '新密碼';

記住,上一條語句的分號一定要輸入,否則語句不被執行。

三、網路配置

postgresql預設不支援通過tcp/ip訪問,需要配置。

1、配置postgresql.conf,使postgresql支援網路訪問

該檔案在上一步被初始化的data目錄中,用編輯器開啟,

找到#listen_addresses='localhost'這一行,去掉前面的#符號,把localhost改為*,即

listen_addresses='*',

找到#port=5432這一行,去掉前面的#符號,

找到#password_encryption = on這一行,去掉前面的#符號。

2、配置pg_hba.conf檔案

在最後面,增加一行如下:

host  all  all  0.0.0.0 0.0.0.0  md5

四、啟動資料庫服務

使用postgres使用者,執行 pg_ctl start -d /usr/pgsql/data -l logfile,即可啟動服務,執行完畢後,可以使用ps命令查詢到postgres程序。

備註:如果重灌系統後,重灌postgresql資料庫,如果pg的主版本相同,那麼可以直接使用保留下來的data目錄,只要直接啟動就可以,不用經過前面的初始化步驟了。到那時要注意,如果啟動失敗(ps命令看不到postgres程序,檢視日誌了解原因),那麼很可能是copy的過程中,data目錄的許可權變了。此時只要把許可權重新賦給postgres使用者,就可以了。

postgre 的安裝步驟

1.為 了安全考 慮,postgresql 不能以root 使用者 執行,所以必須建立 對應的使用者和 組。useradd postgre 自動建立 postgre 組,必須為root許可權 2.安裝的過程 解壓到 usr local src tar xvfz postgresql 8.0.1.ta...

Ruby在RHEL下面的安裝問題

今天在rhel的環境想安裝ruby 1.9.3 p0,出現了如下的錯誤 generating rdoc documentation ruby symbol lookup error root ruby 1.9.3 p0 ext x86 64 linux enc encdb.so undefined ...

遠端連線 Gitlab安裝的 PostgreSQL

預設預設情況下,gitlab 使用者使用的是 peer authentication 這意味著客戶端只能以 postgresql 所在主機上的linux系統賬號訪問資料庫,無法遠端訪問。這裡為了安全,我們使用的是password md5 authentications的認證方式 1 設定postgr...