Подключаемся к встроенной Postgresql базе GitLab

Оцените статью

При обновлении GitLab столкнулся с ошибкой:

main: == [advisory_lock_connection] object_id: 53240, pg_backend_pid: 12591
main: == 20240617135002 ReAddTagsNameUniqueIndex: migrating =========================
main: -- indexes(:tags)
main:    -> 0.0227s
main: -- current_schema(nil)
main:    -> 0.0005s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- view_exists?(:postgres_partitions)
main:    -> 0.0015s
main: -- index_exists?(:tags, :name, {:unique=>true, :name=>"index_tags_on_name", :algorithm=>:concurrently})
main:    -> 0.0036s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0004s
main: -- add_index(:tags, :name, {:unique=>true, :name=>"index_tags_on_name", :algorithm=>:concurrently})
main: -- execute("RESET statement_timeout")
main:    -> 0.0004s
main: == [advisory_lock_connection] object_id: 53240, pg_backend_pid: 12591
rake aborted!

При выполнении команды:

# gitlab-rake db:migrate -v

Стало немного понятнее, где ошибка:

StandardError: An error has occurred, all later migrations canceled:

PG::DuplicateTable: ERROR:  relation "index_tags_on_name" already exists

Соответственно, придется подключаться к базе и править эти дубликаты руками. Можно подключиться к базе данных из консоли при помощи команды:

# sudo -u gitlab-psql /opt/gitlab/embedded/bin/psql -h /var/opt/gitlab/postgresql -d gitlabhq_production

Но хотелось бы на будущее настроить удаленный доступ при помощи DbBeaver, чем собственно мы сейчас и займемся. И первым делом создадим супер-пользователя и назначим ему пароль (подключившись через консоль конечно).

CREATE ROLE chernousov WITH LOGIN SUPERUSER PASSWORD 'xSecretPasswordx';

Если вы посмотрите, настройки встроенного Postgresql-сервера, то сможете увидеть, что доступ восможен только локально через сокет и для внешненго доступа нам потребуется произвести несколько правок.

В каталоге /var/opt/gitlab/postgresql/data изменяем файлы:

  • postgresql.conf — listen_addresses = ‘*’
  • pg_hba.conf — host all all 0.0.0.0/0 md5

Перезапускаем встроенный Postgresql командой:

# gitlab-ctl restart postgresql

Подключаемся через DbBeaver.

Related Posts

Быстрый старт с VestaCP (неудачный эксперимент)

Под очередной проект потребовалось перенести порядка 20-и небольших сайтов на PHP/Mysql с одного сервера где уже полный бардак на другой и развернуть какую-нибудь панель управления чтобы в дальнейшем заказчик мог…

Использование pg_probackup для резервного копирования баз данных Postgresql (локально)

Инициализация базы данных с проверкой контрольных сумм Установка pg_probackup в Ubuntu Linux Подготовка окружения Создаем каталог для хранения резервных копий и назначаем права доступа к каталогу для пользователя postgres. Настраиваем…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

You Missed

Работа с APT-репозитариями через HTTP/HTTPS прокси

Работа с APT-репозитариями через HTTP/HTTPS прокси

Установка OlnyOffice DocSpace в Ubuntu Linux

Установка OlnyOffice DocSpace в Ubuntu Linux

Диагностика работы камеры (USB или интегрированная) в Ubuntu Linux

Диагностика работы камеры (USB или интегрированная) в Ubuntu Linux

Настройка простой конфигурации OpenVPN клиент-сервер

Настройка простой конфигурации OpenVPN клиент-сервер

Установка Windows Server 2012/2012R2 в качестве гостевой виртуальной машины в Proxmox

Установка Windows Server 2012/2012R2 в качестве гостевой виртуальной машины в Proxmox

Создание бесплатной виртуальной машины в облаке Cloud.ru

Создание бесплатной виртуальной машины в облаке Cloud.ru