【问题标题】:Export connections in pgadmin4在 pgadmin4 中导出连接
【发布时间】:2022-02-23 19:33:40
【问题描述】:

如何在 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 共享它们?

【问题讨论】:

  • 你发现了吗?我还需要知道servers.json 文件的格式...

标签: pgadmin-4


【解决方案1】:

JSON 格式在pgAdmin docs here 中指定。

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

从 docker 镜像中导出 servers.json。

  1. 使用命令获取正在运行的容器 ID:

docker ps

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

docker exec -it &lt;container id&gt; /venv/bin/python setup.py --dump-servers /tmp/servers.json

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

docker cp &lt;container id&gt;:/tmp/servers.json c:\myFolder

【讨论】:

    【解决方案2】:

    您需要将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
    

    【讨论】:

    • 我知道我需要映射这个文件。问题不是映射它,而是得到它!我创建了一个连接,我想将其导出,但这并不像文档中描述的那样工作(如上所述)。所以,我没有可以映射的 servers.json 文件。我的问题是:我怎样才能导出一个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 2020-05-05
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    相关资源
    最近更新 更多