Postgresql 使用预先配置的服务器在docker中运行pgadmin4

Postgresql 使用预先配置的服务器在docker中运行pgadmin4,postgresql,docker,pgadmin-4,Postgresql,Docker,Pgadmin 4,我很想在我们的基础设施中运行pgadmin4,在docker build/1.st启动期间,postgres服务器将被预配置 我试图在1.st开始时修改内部使用的/var/lib/pgadmin/pgadmin4.db sqlite db,但是一旦选择了特定的postgres服务器,就会导致UI出错: 找不到服务的定义 我试过以下几点: 目录结构: find ./ -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' |____ |___

我很想在我们的基础设施中运行pgadmin4,在docker build/1.st启动期间,postgres服务器将被预配置

我试图在1.st开始时修改内部使用的/var/lib/pgadmin/pgadmin4.db sqlite db,但是一旦选择了特定的postgres服务器,就会导致UI出错:

找不到服务的定义

我试过以下几点:

目录结构:

find ./  -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'       
|____
|____dump
| |____servergroup.csv
| |____server.csv
| |____import_db.sh
|____Dockerfile
其中Dockerfile是:

事实上,它只是修改了在第一次启动时运行import_db.sh脚本

其中dump/import_db.sh为:

Csv文件内容:

cat dump/server.csv 
id,user_id,servergroup_id,name,host,port,maintenance_db,username,password,role,ssl_mode,comment,discovery_id,hostaddr,db_res,passfile,sslcert,sslkey,sslrootcert,sslcrl,sslcompression,bgcolor,fgcolor,service
1,1,2,servername,localhost,5432,postgres,postgres,"",,prefer,,,"","",,<STORAGE_DIR>/.postgresql/postgresql.crt,<STORAGE_DIR>/.postgresql/postgresql.key,,,0,,,

cat dump/servergroup.csv
id,user_id,name
2,1,my-group
1,1,Servers
你知道如何纠正我的错误吗?或者任何其他可以为我提供预配置的pgadmin4 docker容器的方法?

将服务列值更改为空字符串而不是空字符串

能否尝试将服务列的值更新为NULL

sqlite> UPDATE server SET service = NULL;

提交更改并重新启动pgAdmin4&再次尝试连接到该服务器。

映像dpage/pgadmin的当前版本为4.24。此版本提供了服务器定义列表servers.json的外部配置:

{
    "Servers": {
        "test": {
            "Name": "test",
            "Group": "Servers",
            "Port": 5432,
            "Username": "postgres",
            "Host": "postgres",
            "SSLMode": "prefer",
            "MaintenanceDB": "postgres"
        }
    }
}
卷绑定可以按以下方式配置:

volumes:
    - ./servers.json:/pgadmin4/servers.json
第一次启动容器时,服务器组和服务器将自动配置

{
    "Servers": {
        "test": {
            "Name": "test",
            "Group": "Servers",
            "Port": 5432,
            "Username": "postgres",
            "Host": "postgres",
            "SSLMode": "prefer",
            "MaintenanceDB": "postgres"
        }
    }
}
volumes:
    - ./servers.json:/pgadmin4/servers.json