postgresql數據庫是gitlab的一個配置數據庫,記錄gitlab的一些配置信息。
我們訪問gitlab中的postgresql數據有本地命令行訪問和遠程可視化軟件訪問2種方式。
(一)本地命令訪問postgresql
參考:https://www.cnblogs.com/sfnz/p/7131287.html?utm_source=itdadao&utm_medium=referral
su - gitlab-psql //登陸用戶
psql -h /var/opt/gitlab/postgresql -d gitlabhq_production //連接到gitlabhq_production庫
\l //查看數據庫
\dt //查看多表
\d users //查看單表,如users表
SELECT name,username,otp_required_for_login,two_factor_grace_period, require_two_factor_authentication_from_group FROM users;
//查看users表中用戶的關鍵信息,取4個字段
退出psql使用\q,接着按下回車就行了。
(二)遠程可視化軟件訪問【此方法並不推薦,因為訪問gitlab中的postgresql數據庫並不需要密碼,存在風險。工作時,請用完就把相關配置文件復原,阻斷遠程訪問】【非常重要!!!!】
使用Navicat訪問postgresql數據庫,就可以圖形界面操作了。
但是,在連接之前需要到postgresql數據庫所在Linux系統中去配置一下,使其提供遠程訪問的服務。
1、修改gitlab.rb
vim /etc/gitlab/gitlab.rb
配置為:
postgresql['enable'] = true
postgresql['listen_address'] = '0.0.0.0'
postgresql['port'] = 5432
postgresql['data_dir'] = "/var/opt/gitlab/postgresql/data"
更優配置:遠程訪問gitlab的postgresql數據庫
替代(二)中的2、3、4步驟。
繼續修改gitlab.rb
請移步:
https://www.cnblogs.com/andy9468/p/10613091.html
2、使得gitlab.rb的修改生效
gitlab-ctl reconfigure
等待報錯。沒辦法,上述修改,必然引發報錯。
3、修改pg_hba.conf
vim /var/opt/gitlab/postgresql/data/pg_hba.conf
修改為:
host all all 0.0.0.0/0 trust
注意:從此,不能再執行gitlab-ctl reconfigure 命令了,因為如果再執行gitlab-ctl reconfigure ,那么pg_hba.conf的修改就會被還原。
4、使得pg_hba.conf生效
生效前,先查看端口5432
netstat -antp |grep :5432
發現端口5432還沒有啟動
執行restart,使得配置生效(端口5432生效)。
gitlab-ctl restart
注意:從此,不能再執行gitlab-ctl reconfigure 命令了,因為如果在執行,pg_hba.conf的修改就會被還原。
再查看端口,發現5432存在了。
netstat -antp |grep :5432
5、訪問前telnet測試和端口5432的連通性
telnet gitlab所在機器的ip地址 5432
如果不報錯,就算連通了。
6、Navicat連接postgresql數據庫
連接測試
【此方法並不推薦,因為訪問gitlab中的postgresql數據庫並不需要密碼,存在風險。工作時,請用完就把相關配置文件復原,阻斷遠程訪問】【非常重要!!!!】