Hola a todos!
En este artículo, migraremos la base de datos de GitLab del PostgreSQL interno, que está instalado con GitLab, al PostgreSQL externo, que ya está instalado en otro servidor.

NOTA
Se garantiza que todas las acciones funcionarán en CentOS 7.7.1908, PostgreSQL 12 y GitLab 12.4.2-ee.0.
Preparación preliminar
Haremos tres cosas por adelantado:1. En el servidor PostgreSQL, agregue una regla al firewall que permita conexiones entrantes al puerto PostgreSQL 5432 / TCP.
En mi caso:firewall-cmd --add-service=postgresql --zone=internal --permanent success firewall-cmd --reload success
2. En el mismo lugar, pero en el archivo postgresql.conf, permita que la interfaz de red acepte conexiones entrantes desde el exterior. Abra el archivo postgresql.conf, busque la línea comentada "
#listen_addresses = 'localhost' " y agregue la línea debajo de ella. Donde es 10.0.0.2, la dirección de su interfaz.
En mi caso: vi /var/lib/pgsql/12/data/postgresql.conf
3. Dado que el servidor GitLab se conectará a una base de datos externa, esto debe habilitarse en el servidor PostgreSQL en el archivo pg_hba.conf. La dirección de mi servidor GitLab es 10.0.0.4.
Abra el archivo pg_hba.conf y agregue la línea allí: host all gitlab 10.0.0.4/24 md5
Se verá así:
Finalmente, reinicie el servicio postgresql: systemctl restart postgresql-12.service
Exportar base de datos de GitLab
Ejecutemos, en el servidor GitLab, una copia de seguridad de la base de datos: sudo -u gitlab-psql /opt/gitlab/embedded/bin/pg_dumpall -U gitlab-psql --host=/var/opt/gitlab/postgresql > /tmp/internal-gitlab.sql
La copia de seguridad apareció en / tmp: ls -lh total 836K -rw-r--r--. 1 root root 836K Nov 18 12:59 internal-gitlab.sql
Copie esta copia en el servidor PostgreSQL: scp /tmp/internal-gitlab.sql 10.0.0.2:/tmp/ internal-gitlab.sql 100% 835KB 50.0MB/s 00:00
Importar "internal-gitlab.sql" en PostgreSQL
Importe la base de datos a PostgreSQL: sudo -u postgres psql -f /tmp/internal-gitlab.sql
Verifique que la base de datos esté ahora en PostgreSQL: sudo -u postgres psql -l
La siguiente línea debería aparecer: gitlabhq_production | gitlab | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
Configurando GitLab
Después de importar la base de datos a PostgreSQL, se creó el usuario de gitlab. Necesita cambiar la contraseña de este usuario.
Cambiar contraseña sudo -u postgres psql -c "ALTER USER gitlab ENCRYPTED PASSWORD '' VALID UNTIL 'infinity';" Password for user postgres: ALTER ROLE
Luego, en el servidor GitLab en el archivo de configuración /etc/gitlab/gitlab.rb, especificaremos todos los datos del PostgreSQL externo.
Haga una copia de seguridad del archivo gitlab.rb: cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.orig
Ahora al final del archivo gitlab.rb, agregue estas líneas:
Guarde el archivo /etc/gitlab/gitlab.rb y reconfigure GitLab: gitlab-ctl reconfigure && gitlab-ctl restart
Eso es todo :)
Una gran solicitud Si pone un signo menos, escriba el motivo en el comentario.