說明
需要在內網的服務器上搭建sonarqube服務,發現最新的sonarqube 8.3版本居然只支持三個數據庫了:Oracle、SQL Server和Postgresql。
沒有之前習慣使用的Mysql了,三選一,相對來說Postgresql最輕量且免費,就選它了。
由於對Postgresql不怎么熟,又是離線安裝,作一下安裝記錄筆記。
下載
下載地址:https://www.postgresql.org/download/
有不同操作系統對應的版本,這里選擇自己使用的Red Hat系列。
之后選擇對應的數據庫版本和操作系統版本,說明文檔上在線通過yum安裝,往下拉。
在Direct RPM download一節會有安裝包的下載地址。
點進去,這里我們選擇穩定的12及對應操作系統為RHEL 7的版本,
最終應該有以下幾個包,分別進行下載:
安裝
直接進行安裝,這里我沒有安裝 postgresql12-contrib。
rpm -ivh postgresql12-libs-12.2-2PGDG.rhel7.x86_64.rpm rpm -ivh postgresql12-12.2-2PGDG.rhel7.x86_64.rpm rpm -ivh postgresql12-server-12.2-2PGDG.rhel7.x86_64.rpm
安裝很順利,沒有任何依賴和錯誤需要解決。
初始化
/usr/pgsql-12/bin/postgresql-12-setup initdb
啟動服務
systemctl enable postgresql-12 systemctl start postgresql-12
配置IP和端口
vi /var/lib/pgsql/12/data/postgresql.conf
按需修改以下兩行:
# *表示監聽所有的ip信息,也可以使用localhost、127.0.0.1等 listen_addresses = '*' # 默認的監聽端口為5432,也可以換為其它的 port = 5432
修改同目錄下的pg_hba.conf文件,設置允許訪問的ip,這里我因為是測試服務器,所以設置所有:
host all all 0.0.0.0/0 md5
重啟:
systemctl restart postgresql-12
這期間可以用以curl命令測試服務是否正常,可以在其它機器指定ip訪問測試遠程訪問是否以開放,顯示以下類似信息表示正常:
curl 127.0.0.1:5433 curl: (52) Empty reply from server
默認用戶與密碼方式登錄
經過上面配置已經可以遠程使用用戶名、密碼方式登錄postgresql,但是本機反而不能使用(本機依然命令行免密方式),導致如果應用在同一台機器使用jdbc連接將失敗,搭建sonarqube服務過程中就踩了這個坑。
因此修改postgresql自帶超級用戶postgres的密碼方便后續使用。
切換到postgres用戶,並進入psql命令行,如果修改了端口,需要帶上端口號:
su - postgres psql -p 5433
修改密碼:
alter user postgres with password ‘postgres’;
依然修改_hba.conf文件,使本機也使用密碼方式:
#load all all peer local all all md5 #host all all 127.0.0.1/32 ident host all all 127.0.0.1/32 md5
創建sonar用戶
進入psql命令行,如果已修改為密碼方式,需要輸入密碼:
su - postgres psql -p 5433
創建用戶
create user sonar with password 'sonar';
創建數據庫
創建sonar數據庫:
create database sonar;
將sonar數據庫授權給前面創建的sonar用戶:
grant all privileges on database sonar to sonar;
至此,可以在sonarqube中配置此postgresql的jdbc信息進行使用了。