[ @debian @install @data_base @postgre_sql @pg_admin ]
Инструмент для работы с PostgresSQL.
Установка postgreSQL
Следовать https://wiki.postgresql.org/wiki/Apt но есть нюансы:
- это установка для debian bookworm
- надо обратиться к apt.postgresql.org.pgp, а не к apt.postgresql.org.asc, как указано в документации (походу, адрес ключа поменяли и забыли в документах указать)
Выполнить последовательно
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
Запустить postgreSQL service
sudo systemctl start postgresql.service
и указать ему запускаться при старте системы (и сразу проверить его статус):
sudo systemctl enable postgresql.service && systemctl status postgresql.service
Проверить порт, по которому работает 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 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 (локальный или удаленный).