แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™ GitLab แž‘แŸ… PostgreSQL แžแžถแž„แž€แŸ’แžšแŸ…

แž‡แŸ†แžšแžถแž”แžŸแžฝแžšแž˜แž“แžปแžŸแŸ’แžŸแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แž“แžถ!

แž“แŸ…แž€แŸ’แž“แžปแž„แžขแžแŸ’แžแž”แž‘แž“แŸแŸ‡ แž™แžพแž„แž“แžนแž„แž’แŸ’แžœแžพแž…แŸ†แžŽแžถแž€แžŸแŸ’แžšแžปแž€แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™ GitLab แž–แžธ PostgreSQL แžแžถแž„แž€แŸ’แž“แžปแž„แžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แžŠแŸ†แžกแžพแž„แž‡แžถแž˜แžฝแž™ GitLab แž‘แŸ… PostgreSQL แžแžถแž„แž€แŸ’แžšแŸ…แžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แžŠแŸ†แžกแžพแž„แžšแžฝแž…แž แžพแž™แž“แŸ…แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸแž•แŸ’แžŸแŸแž„แž‘แŸ€แžแŸ”

แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™ GitLab แž‘แŸ… PostgreSQL แžแžถแž„แž€แŸ’แžšแŸ…

แž…แŸ†แžŽแžถแŸ†แŸ”
แžŸแž€แž˜แŸ’แž˜แž—แžถแž–แž‘แžถแŸ†แž„แžขแžŸแŸ‹แžแŸ’แžšแžผแžœแž”แžถแž“แž’แžถแž“แžถแžŠแžพแž˜แŸ’แž”แžธแžŠแŸ†แžŽแžพแžšแž€แžถแžšแž›แžพ CentOS 7.7.1908, PostgreSQL 12 แž“แžทแž„ GitLab 12.4.2-ee.0 แŸ”

แž€แžถแžšแžšแŸ€แž”แž…แŸ†แž”แž‹แž˜แŸ”

แž…แžผแžšโ€‹แž’แŸ’แžœแžพโ€‹แž€แžทแž…แŸ’แž…แž€แžถแžšโ€‹แž”แžธโ€‹แž™แŸ‰แžถแž„โ€‹แž‡แžถแž˜แžปแž“โ€‹แŸ–

1. แž“แŸ…แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ PostgreSQL แž”แž“แŸ’แžแŸ‚แž˜แž…แŸ’แž”แžถแž”แŸ‹แž‘แŸ…แž‡แž‰แŸ’แž‡แžถแŸ†แž„แž—แŸ’แž›แžพแž„แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž˜แžถแž“แž€แžถแžšแžแž—แŸ’แž‡แžถแž”แŸ‹แž…แžผแž›แž‘แŸ…แž€แžถแž“แŸ‹แž…แŸ’แžšแž€ PostgreSQL 5432/TCP แŸ”

แž€แŸ’แž“แžปแž„โ€‹แž€แžšแžŽแžธโ€‹แžšแž”แžŸแŸ‹โ€‹แžแŸ’แž‰แžปแŸ†:

firewall-cmd --add-service=postgresql --zone=internal --permanent
success
firewall-cmd --reload
success

2. แž“แŸ…แž€แž“แŸ’แž›แŸ‚แž„แžŠแžŠแŸ‚แž› แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž“แŸ…แž€แŸ’แž“แžปแž„แžฏแž€แžŸแžถแžš postgresql.conf แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž…แŸ†แžŽแžปแž…แž”แŸ’แžšแž‘แžถแž€แŸ‹แž”แžŽแŸ’แžแžถแž‰แž‘แž‘แžฝแž›แž™แž€แž€แžถแžšแžแž—แŸ’แž‡แžถแž”แŸ‹แž…แžผแž›แž–แžธแžแžถแž„แž€แŸ’แžšแŸ…แŸ” แž”แžพแž€แžฏแž€แžŸแžถแžš postgresql.conf แžŸแŸ’แžœแŸ‚แž„แžšแž€แž”แž“แŸ’แž‘แžถแžแŸ‹แžŠแŸ‚แž›แž”แžถแž“แž”แž‰แŸ’แž…แŸแž‰แž˜แžแžท "#listen_addresses = 'แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž—แŸ’แž‰แŸ€แžœแž€แŸ’แž“แžปแž„แžŸแŸ’แžšแžปแž€'" แž แžพแž™แž“แŸ…แž€แŸ’แžšแŸ„แž˜แžœแžถแž”แž“แŸ’แžแŸ‚แž˜แž”แž“แŸ’แž‘แžถแžแŸ‹แžŠแžผแž…แžแžถแž„แž€แŸ’แžšแŸ„แž˜แŸ” แž€แž“แŸ’แž›แŸ‚แž„แžŽแžถ - 10.0.0.2 แžขแžถแžŸแž™แžŠแŸ’แž‹แžถแž“แž“แŸƒแž…แŸ†แžŽแžปแž…แž”แŸ’แžšแž‘แžถแž€แŸ‹แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แŸ”

แž€แŸ’แž“แžปแž„โ€‹แž€แžšแžŽแžธโ€‹แžšแž”แžŸแŸ‹โ€‹แžแŸ’แž‰แžปแŸ†:

vi /var/lib/pgsql/12/data/postgresql.conf
# - Connection Settings -

#listen_addresses = 'localhost'         # what IP address(es) to listen on;
listen_addresses = 'localhost, 10.0.0.2'
                                        # comma-separated list of addresses;

3. แžŠแŸ„แž™แžŸแžถแžšแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ GitLab แž“แžนแž„แž—แŸ’แž‡แžถแž”แŸ‹แž‘แŸ…แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™แžแžถแž„แž€แŸ’แžšแŸ… แž“แŸแŸ‡แžแŸ’แžšแžผแžœแžแŸ‚แžขแž“แžปแž‰แŸ’แž‰แžถแžแž“แŸ…แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ PostgreSQL แž€แŸ’แž“แžปแž„แžฏแž€แžŸแžถแžš pg_hba.conf แŸ” แžขแžถแžŸแž™แžŠแŸ’แž‹แžถแž“แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ GitLab แžšแž”แžŸแŸ‹แžแŸ’แž‰แžปแŸ†แž‚แžบ 10.0.0.4 แŸ”

แžแŸ„แŸ‡แž”แžพแž€แžฏแž€แžŸแžถแžš pg_hba.conf แž แžพแž™แž”แž“แŸ’แžแŸ‚แž˜แž”แž“แŸ’แž‘แžถแžแŸ‹แž“แŸ…แž‘แžธแž“แŸ„แŸ‡แŸ–

host    all             gitlab               10.0.0.4/24             md5

แžœแžถแž“แžนแž„แž˜แžพแž›แž‘แŸ…แžŠแžผแž…แž“แŸแŸ‡แŸ–

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             postgres                                     md5

# IPv4 local connections:
host    all             postgres             127.0.0.1/32            md5
host    all             gitlab               10.0.0.4/24             md5

แž แžพแž™แž…แžปแž„แž€แŸ’แžšแŸ„แž™ แž™แžพแž„แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แžŸแŸแžœแžถแž€แž˜แŸ’แž˜ postgresql แžกแžพแž„แžœแžทแž‰แŸ–

systemctl restart postgresql-12.service

แž€แžถแžšแž“แžถแŸ†แž…แŸแž‰แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™ GitLab

แž…แžผแžšแž’แŸ’แžœแžพแž€แžถแžšแž”แž˜แŸ’แžšแžปแž„แž‘แžปแž€แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™แž“แŸ…แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ GitLabแŸ–

sudo -u gitlab-psql /opt/gitlab/embedded/bin/pg_dumpall -U gitlab-psql --host=/var/opt/gitlab/postgresql > /tmp/internal-gitlab.sql

แž€แžถแžšแž”แž˜แŸ’แžšแžปแž„แž‘แžปแž€แž”แžถแž“แž”แž„แŸ’แž แžถแž‰แžแŸ’แž›แžฝแž“แž“แŸ…แž€แŸ’แž“แžปแž„ /tmp:

ls -lh
total 836K
-rw-r--r--. 1 root root 836K Nov 18 12:59 internal-gitlab.sql

แžแŸ„แŸ‡แž…แž˜แŸ’แž›แž„แž…แŸ’แž”แžถแž”แŸ‹แž…แž˜แŸ’แž›แž„แž“แŸแŸ‡แž‘แŸ…แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ PostgreSQLแŸ–

scp /tmp/internal-gitlab.sql 10.0.0.2:/tmp/
internal-gitlab.sql                                                                               100%  835KB  50.0MB/s   00:00

แž€แŸ†แž–แžปแž„แž“แžถแŸ†แž…แžผแž› "internal-gitlab.sql" แž‘แŸ…แž€แŸ’แž“แžปแž„ PostgreSQL

แž“แžถแŸ†แž…แžผแž›แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™แž‘แŸ…แž€แŸ’แž“แžปแž„ PostgreSQLแŸ–

sudo -u postgres psql -f /tmp/internal-gitlab.sql

แž–แžทแž“แžทแžแŸ’แž™แž˜แžพแž›แžแžถแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™แžฅแžกแžผแžœแž“แŸแŸ‡แžŸแŸ’แžแžทแžแž“แŸ…แž€แŸ’แž“แžปแž„ PostgreSQLแŸ–

sudo -u postgres psql -l

แž”แž“แŸ’แž‘แžถแžแŸ‹แžแžถแž„แž€แŸ’แžšแŸ„แž˜แž‚แžฝแžšแžแŸ‚แž›แŸแž…แžกแžพแž„แŸ–

gitlabhq_production | gitlab   | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

แž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’ GitLab

แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแž“แžถแŸ†แž…แžผแž›แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™แž‘แŸ…แž€แŸ’แž“แžปแž„ PostgreSQL แžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ gitlab แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แž€แžพแžแžกแžพแž„แŸ” แžขแŸ’แž“แž€แžแŸ’แžšแžผแžœแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž–แžถแž€แŸ’แž™แžŸแž˜แŸ’แž„แžถแžแŸ‹แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แž”แŸ’แžšแžพแž“แŸแŸ‡แŸ”

แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž–แžถแž€แŸ’แž™แžŸแž˜แŸ’แž„แžถแžแŸ‹แŸ–

sudo -u postgres psql -c "ALTER USER gitlab ENCRYPTED PASSWORD 'ะŸะะ ะžะ›ะฌ' VALID UNTIL 'infinity';"
Password for user postgres:
ALTER ROLE

แž”แž“แŸ’แž‘แžถแž”แŸ‹แž˜แž€แž“แŸ…แž›แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ GitLab แž€แŸ’แž“แžปแž„แžฏแž€แžŸแžถแžšแž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’ /etc/gitlab/gitlab.rb แž™แžพแž„แž“แžนแž„แž”แž„แŸ’แž แžถแž‰แž‘แžทแž“แŸ’แž“แž“แŸแž™แž‘แžถแŸ†แž„แžขแžŸแŸ‹แž“แŸƒ PostgreSQL แžแžถแž„แž€แŸ’แžšแŸ…แŸ”

แžแŸ„แŸ‡แž’แŸ’แžœแžพแž…แŸ’แž”แžถแž”แŸ‹แž…แž˜แŸ’แž›แž„แžฏแž€แžŸแžถแžš gitlab.rbแŸ–

cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.orig

แžฅแžกแžผแžœแž”แž“แŸ’แžแŸ‚แž˜แž”แž“แŸ’แž‘แžถแžแŸ‹แž‘แžถแŸ†แž„แž“แŸแŸ‡แž‘แŸ…แž…แžปแž„แž”แž‰แŸ’แž…แž”แŸ‹แž“แŸƒแžฏแž€แžŸแžถแžš gitlab.rbแŸ–

# ะžั‚ะบะปัŽั‡ะธั‚ัŒ ะฒัั‚ั€ะพะตะฝะฝั‹ะน PostgreSQL.
postgresql['enable'] = false

# ะ”ะฐะฝะฝั‹ะต ะดะปั ะฟะพะดะบะปัŽั‡ะตะฝะธั ะบ ะฒะฝะตัˆะฝะตะน ะฑะฐะทะต. ะฃะบะฐะทั‹ะฒะฐะนั‚ะต ัะฒะพะธ.
gitlab_rails['db_adapter'] = 'postgresql'
gitlab_rails['db_encoding'] = 'utf8'
gitlab_rails['db_host'] = '10.0.0.2'
gitlab_rails['db_port'] = 5432
gitlab_rails['db_database'] = "gitlabhq_production"
gitlab_rails['db_username'] = 'gitlab'
gitlab_rails['db_password'] = '******'

แžšแž€แŸ’แžŸแžถแž‘แžปแž€แžฏแž€แžŸแžถแžš /etc/gitlab/gitlab.rb แž แžพแž™แž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’ GitLab แžกแžพแž„แžœแžทแž‰แŸ–

gitlab-ctl reconfigure && gitlab-ctl restart

แžขแžŸแŸ‹แž แžพแž™ :)

แžŸแŸ†แžŽแžพแž’แŸ†แŸ” แž”แŸ’แžšแžŸแžทแž“แž”แžพแžขแŸ’แž“แž€แžŠแžถแž€แŸ‹แžŠแž€ แžŸแžšแžŸแŸแžšแž แŸแžแžปแž•แž›แž“แŸ…แž€แŸ’แž“แžปแž„แž˜แžแžทแž™แŸ„แž”แž›แŸ‹แŸ”

แž”แŸ’แžšแž—แž–: www.habr.com

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹