Gostaria de saber se existe alguma maneira de importar minha lista de servidores do pgAdmin 3 para o pgAdmin 4 (para que eu não precise criar servidores um por um novamente).
Gostaria de saber se existe alguma maneira de importar minha lista de servidores do pgAdmin 3 para o pgAdmin 4 (para que eu não precise criar servidores um por um novamente).
Respostas:
Para Windows em C: \ Users \% user% \ AppData \ Roaming \ pgAdmin, você pode encontrar o pgadmin4.db, que é onde o pgAdmin4 salva sua configuração. É o formato SQLite 3 e, com o navegador SQLite, você pode abri-lo e inserir servidores na tabela do servidor, salvar e depois adicioná-los ao pgAdmin4. Observe que as senhas são salvas criptografadas, então deixe NULL para inseri-las mais tarde. Agora você pode criar um script sql que leia a exportação do registro do pgAdmin III e insira na tabela o processo totalmente automatizado.
No linux (Ubuntu 16.04, no meu caso, mas também deve estar em outros sistemas), você encontrará um .pgadmin3
arquivo em seu diretório pessoal. Nesse arquivo de configuração, existem entradas como
[Servers/1]
Server=dezso.com
HostAddr=
Description=random
Service=
ServiceID=
DiscoveryID=
Port=5432
StorePwd=false
Rolename=
Restore=true
Database=postgres
Username=dezso
...
A parte 'Servidores' acima refere-se a um grupo de servidores, importante notar.
Com alguma diligência, você pode extrair os dados necessários disso em um formato adequado (pode ser um monte de INSERT
instruções, veja abaixo).
No diretório inicial, você encontrará um pgadmin4.db
arquivo (o local exato pode depender de como você instalou o pgAdmin4). Este é um banco de dados SQLIte 3 (como também descrito na outra resposta ) e há uma server
tabela nele:
sqlite> .schema server
CREATE TABLE server (
id INTEGER NOT NULL,
user_id INTEGER NOT NULL,
servergroup_id INTEGER NOT NULL,
name VARCHAR(128) NOT NULL,
host VARCHAR(128) NOT NULL,
port INTEGER NOT NULL CHECK (port >= 1024 AND port <= 65535),
maintenance_db VARCHAR(64) NOT NULL,
username VARCHAR(64) NOT NULL,
ssl_mode VARCHAR(16) NOT NULL CHECK (
ssl_mode IN (
'allow', 'prefer', 'require', 'disable', 'verify-ca', 'verify-full'
)),
comment VARCHAR(1024), password TEXT(64), role text(64), discovery_id TEXT, hostaddr TEXT(1024), db_res TEXT, passfile TEXT, sslcert TEXT, sslkey TEXT, sslrootcert TEXT, sslcrl TEXT, sslcompression INTEGER default 0, bgcolor TEXT(10), fgcolor TEXT(10),
PRIMARY KEY (id),
FOREIGN KEY(user_id) REFERENCES user (id),
FOREIGN KEY(servergroup_id) REFERENCES servergroup (id)
);
Você deve primeiro criar o (s) grupo (s) de servidores, a partir da interface do usuário, pois ele informará o user_id
necessário para criar um servidor usando INSERT INTO server ...
.