在pgadmin4中导出连接

时间:2019-02-22 07:52:56

标签: pgadmin-4

如何在pgadmin4中导出连接?

我打算pgadmin in docker给我们,并且我想按照建议映射servers.json。因此,我想简单地将连接导出到本地pgadmin4中并映射它们。

我找到了一个explanation来导出服务器。不幸的是,这不起作用。我尝试了ubuntu 18.04 LTS和Windows 10 Pro,但是我总是收到错误消息。这是我在ubuntu中检索到的消息:

$ python3 /usr/share/pgadmin4/web/setup.py --dump-servers output_file.json
Traceback (most recent call last):
  File "/usr/share/pgadmin4/web/setup.py", line 406, in <module>
    dump_servers(args)
  File "/usr/share/pgadmin4/web/setup.py", line 63, in dump_servers
    app = create_app()
  File "/usr/share/pgadmin4/web/pgadmin/__init__.py", line 229, in create_app
    create_app_data_directory(config)
  File "/usr/share/pgadmin4/web/pgadmin/setup/data_directory.py", line 29, in create_app_data_directory
    _create_directory_if_not_exists(config.SESSION_DB_PATH)
  File "/usr/share/pgadmin4/web/pgadmin/setup/data_directory.py", line 15, in _create_directory_if_not_exists
    os.mkdir(_path)
FileNotFoundError: [Errno 2] No such file or directory: '/var/cache/pgadmin/sessions'

这似乎合乎逻辑,因为没有这样的文件。但是,如何导出服务器设置并通过servers.json共享它们?

2 个答案:

答案 0 :(得分:0)

您需要将output_file.json文件的路径映射到您的

例如,要在主机上预加载从/tmp/servers.json预加载的服务器,

docker pull dpage/pgadmin4
docker run -p 443:443 \
    -v "/private/var/lib/pgadmin:/var/lib/pgadmin" \
    -v "/tmp/servers.json:/servers.json" \
    -e "PGADMIN_DEFAULT_EMAIL=user@domain.com" \
    -e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" \
    -d dpage/pgadmin4

答案 1 :(得分:0)

JSON格式在pgAdmin docs here中指定。

我在docker容器中运行了pgAdmin,因此以下步骤帮助我从中获取了JSON格式的正确服务器列表。但是首先,我使用pgAdmin启动映像,并通常通过pgAdmin GUI创建所有连接。

要从docker映像导出server.json。

  1. 通过命令获取运行中的容器ID:
  

docker ps

  1. 使用所需的服务器生成servers.json文件。因为我没有使用默认用户,所以我也需要指定用户,例如docker exec -it 3a1adbf57bd9 python setup.py --dump-servers servers.json --user admin
  

docker exec -it <container id> python setup.py --dump-servers servers.json

  1. 将生成的文件复制到本地磁盘:
  

docker cp <container id>:/pgadmin4/servers.json c:\myFolder