pgAdmin4 не открывает правильный веб-браузер

Контекст

Я установил pgAdmin4, используя процедуру установки APT на Ubuntu 18.04 (пакет по умолчанию без этого нового репозитория apt поставляет pgAdmin в версии 3, которая является устаревшей).

Вот как выглядит моя панель конфигурации, когда я открываю ее с помощью меню "Configure..." из трея иконок сервера pgadmin;

pgAdmin4 config panel

Что, похоже, соответствует содержимому ~/.config/pgadmin/pgadmin4. conf файла:

$ cat ~/.config/pgadmin/pgadmin4.conf
[General]
ApplicationPath=
BrowserCommand=/usr/bin/brave-browser --private %URL%
FixedPort=true
OpenTabAtStartup=false
PortNumber=5433
PythonPath="/usr/local/lib/python3.6/dist-packages;/usr/lib/python3/dist-packages;/usr/local/lib/python3.6/dist-packages"

Ошибка

Теперь, если я запускаю pgadmin4 в консоли, я получаю следующее (запуск занимает несколько секунд, отсюда несколько одинаковых сообщений о сбоях в начале):

$ pgadmin4
QCoreApplication::applicationFilePath: Please instantiate the QApplication object first
QCoreApplication::applicationFilePath: Please instantiate the QApplication object first
Semaphore name: "pgadmin4-<user>-3ed67051278d25124b2c63f6651290d1-sema"
Shared memory segment name: "pgadmin4-<user>-3ed67051278d25124b2c63f6651290d1-shmem"
Python path:  "/usr/local/lib/python3.6/dist-packages:/usr/lib/python3/dist-packages:/usr/local/lib/python3.6/dist-packages" 
Python Home:  ""
Webapp path:  "/usr/share/pgadmin4/web/pgAdmin4.py"
Failed to connect to the server: "Connection refused" - request URL: "http://127.0.0.1:39931/misc/ping?key=28059bf0-430c-4759-a9c2-1b05e1b67a02" .
Failed to connect to the server: "Connection refused" - request URL: "http://127.0.0.1:39931/misc/ping?key=28059bf0-430c-4759-a9c2-1b05e1b67a02" .
Failed to connect to the server: "Connection refused" - request URL: "http://127.0.0.1:39931/misc/ping?key=28059bf0-430c-4759-a9c2-1b05e1b67a02" .
Failed to connect to the server: "Connection refused" - request URL: "http://127.0.0.1:39931/misc/ping?key=28059bf0-430c-4759-a9c2-1b05e1b67a02" .
Failed to connect to the server: "Connection refused" - request URL: "http://127.0.0.1:39931/misc/ping?key=28059bf0-430c-4759-a9c2-1b05e1b67a02" .
Failed to connect to the server: "Connection refused" - request URL: "http://127.0.0.1:39931/misc/ping?key=28059bf0-430c-4759-a9c2-1b05e1b67a02" .
Failed to connect to the server: "Connection refused" - request URL: "http://127.0.0.1:39931/misc/ping?key=28059bf0-430c-4759-a9c2-1b05e1b67a02" .
Failed to connect to the server: "Connection refused" - request URL: "http://127.0.0.1:39931/misc/ping?key=28059bf0-430c-4759-a9c2-1b05e1b67a02" .
Failed to connect to the server: "Connection refused" - request URL: "http://127.0.0.1:39931/misc/ping?key=28059bf0-430c-4759-a9c2-1b05e1b67a02" .
Failed to connect to the server: "Connection refused" - request URL: "http://127.0.0.1:39931/misc/ping?key=28059bf0-430c-4759-a9c2-1b05e1b67a02" .
Failed to connect to the server: "Connection refused" - request URL: "http://127.0.0.1:39931/misc/ping?key=28059bf0-430c-4759-a9c2-1b05e1b67a02" .
Failed to connect to the server: "Connection refused" - request URL: "http://127.0.0.1:39931/misc/ping?key=28059bf0-430c-4759-a9c2-1b05e1b67a02" .
Failed to connect to the server: "Connection refused" - request URL: "http://127.0.0.1:39931/misc/ping?key=28059bf0-430c-4759-a9c2-1b05e1b67a02" .
Server response: "PING" - request URL: "http://127.0.0.1:39931/misc/ping?key=28059bf0-430c-4759-a9c2-1b05e1b67a02" .


И он автоматически открывает новую вкладку Firefox, где я попросил его открыть новую вкладку Brave браузера в приватном режиме.

Вопрос

Что там не так и как я могу это исправить (т.е. заставить pgadmin4 запускаться в Brave приватной вкладке)?

Я также хочу иметь возможность запускать pgAdmin4 из ubuntu TTY (Ctrl + F1, а не из GUI-консоли), поэтому говорю ему запускаться без запуска какого-либо браузера, но я получил множество ошибок QT).

0
задан 25 November 2020 в 11:53

1 ответ

В качестве обходного пути я создал файл docker-compose (на основе этого образа; https://hub.docker.com/ r/dpage/pgadmin4/, как описано здесь: https://www.pgadmin.org/download/pgadmin-4-container/) следующим образом, чтобы иметь возможность подключаться к моим базам данных, размещенным на моя локальная машина:

version: '3.8'

services:
  pgadmin4:
    image: dpage/pgadmin4
    container_name: pgadmin4
    environment:
      - PGADMIN_DEFAULT_EMAIL=youremail@whatever.com
      - PGADMIN_DEFAULT_PASSWORD=password
      - PGADMIN_LISTEN_PORT=5050
    ports:
      - "5050:5050"
    network_mode: host

Просто запустите его с помощью # docker-compose up -d
И следите за журналами с помощью # docker-compose logs --tail 10 -f

Просмотрите http:// localhost:5050 и войдите в систему с учетными данными, определенными в выбранных вами переменных среды compose.

Не забудьте network_mode: host, чтобы иметь возможность подключаться к вашим локальным базам данных. Также имейте в виду, что если вы подключаете другие службы, вы можете захотеть сохранить изоляцию сети в безопасности, поэтому будьте абсолютно уверены в том, что делаете.

Если вам когда-нибудь понадобится подключиться к удаленному серверу, это возможно; в этом случае вам нужно будет открыть SSH-туннель перед настройкой подключения в pgAdmin4. Мне также пришлось создать пользователя PostgreSQL, отличного от postgres на удаленной машине, чтобы подключиться с помощью пароля (postgres использует одноранговое соединение на удаленной машине, в чем я уверен работает из удаленного доступа).

Это решение, вероятно, со временем будет развиваться, поскольку оно основано на предварительной версии pgAdmin 4.29, как указано здесь:

warning pre release pgAdmin 4.29

https://www.pgadmin.org/docs/pgadmin4/development/container_deployment.html

0
ответ дан 10 January 2021 в 15:15

Другие вопросы по тегам:

Похожие вопросы: