如何在 pgadmin4 中导出连接?
我打算在 docker 中使用 pgadmin,并且想按照建议映射servers.json。所以我想简单地导出本地 pgadmin4 中的连接并映射它们。
我找到了导出服务器的解释。不幸的是这不起作用。我尝试了 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'
Run Code Online (Sandbox Code Playgroud)
这似乎合乎逻辑,因为不存在这样的文件。但是如何导出我的服务器设置并通过servers.json 共享它们?
我在 docker 容器中运行 pgAdmin,因此以下步骤帮助我从中获取 JSON 格式的正确服务器列表。但首先我使用 pgAdmin 启动图像并正常通过 pgAdmin GUI 创建所有连接。
从 docker 镜像导出servers.json。
docker ps
servers.json文件。由于我没有使用默认用户,所以我也需要指定用户,例如docker exec -it 3a1adbf57bd9 /venv/bin/python setup.py --dump-servers /tmp/servers.json --user admin。
docker exec -it <container id> /venv/bin/python setup.py --dump-servers /tmp/servers.json
docker cp <container id>:/tmp/servers.json c:\myFolder
您需要将文件的路径映射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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3682 次 |
| 最近记录: |