[ Пред. ] [ Содержание ] [ След. ]

pgAdmin

[ @debian @install @data_base @postgre_sql @pg_admin ]

 


Инструмент для работы с PostgresSQL.


Установка postgreSQL


Следовать https://wiki.postgresql.org/wiki/Apt но есть нюансы:


Выполнить последовательно


sudo apt install curl ca-certificates


sudo install -d /usr/share/postgresql-common/pgdg


sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.pgp --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc


Создать файл с настройками


sudo mcedit /etc/apt/sources.list.d/pgdg.list


Вставить в файл эту строку (внимание к названию дистрибутива!):


deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.pgp] [[https://apt.postgresql.org/pub/repos/apt|''https://apt.postgresql.org/pub/repos/apt'']> bookworm-pgdg main


Сохранить и выйти.


Установить postgreSQL service


sudo apt-get update && sudo apt-get install -y postgresql

Параметр „-y” означает «не спрашивать ни о чём, заранее отвечаю “да” на любой вопрос».


Можно установить postgresql не вообще, а определенную версию postgresql: “postgresql-15”.


Запустить postgreSQL service


sudo systemctl start postgresql.service


и указать ему запускаться при старте системы (и сразу проверить его статус):


sudo systemctl enable postgresql.service && systemctl status postgresql.service


Ожидаем сообщение “active (running)”.


Проверить порт, по которому работает Postgres service (по-умолчанию 5432):


ss -antpl | grep 5432


Ожидаемый ответ:


[::1]:5432


Вероятные сложности


Если в ответ пусто, вероятно, было обновление и что-то поменялось. Посмотреть вообще все порты, которые в данный момент обслуживают какие-то процессы:


sudo netstat -nlp


среди ответов выцепил две строки


127.0.0.1:5433 0.0.0.0:* LISTEN 4005/postgres
::1:5433 :::* LISTEN 4005/postgres


Можно глянуть точнее


sudo netstat -nlp | grep 5433


Ответ:


tcp 0 0 127.0.0.1:5433 0.0.0.0:* LISTEN 4005/postgres
tcp6 0 0 ::1:5433 :::* LISTEN 4005/postgres
unix 2 [ ACC > STREAM LISTENING 43601 4005/postgres /var/run/postgresql/.s.PGSQL.5433


А надо, чтобы обслуживался порт 5432, иначе подключения к БД не будет. Есть разные (1, 2) идеи о том, как это исправить.


Установить приложение pgAdmin


sudo curl https://www.pgadmin.org/static/packages_pgadmin_org.pub]> | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/[[https://www.pgadmin.org/static/packages_pgadmin_org.pub|pgadmin4.gpg


Создать конфигурационный файл и сразу проверить его содержимое:


sudo sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list' && cat /etc/apt/sources.list.d/pgadmin4.list

Внутри должно быть


deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/bookworm pgadmin4 main


Установить десткоп-апп pgAdmin4:


sudo apt update && sudo apt install -y pgadmin4


Будут установлены и pgadmin4-desktop, и pgadmin4-web. В списке программ в разделе «Разработка» появится ярлык для запуска настольного приложения ”pgAdmin 4”. Можно запустить, первый раз будет шуршать долго, это нормально. По-сути происходит запуск сервера, и открывается браузер в виде приложения (то же, что и у Postman).


Дальше по существу — [[Common:Software:pgAdmin]> — добавить новый удаленный сервер, подключиться, все дела.


Настроить веб-сервер pgAdmin4


Это если нужно держать СВОЙ веб-сервер для БД.


sudo /usr/pgadmin4/bin/setup-web.sh


Надо будет создать основной user account (или живой емайл, или условный admin@localhost), базу данных и так далее.


Если есть UFW firewall, надо разрешить трафик http и https:


sudo ufw allow http
sudo ufw allow https


Дэшбоард: http://127.0.0.1/pgadmin4


Залогиниться записанными юзером > Add New Server (локальный или удаленный).