Jak mogę zaimportować listę serwerów z pgAdmin 3 do pgAdmin 4?
12
Zastanawiam się, czy istnieje jakiś sposób na zaimportowanie mojej listy serwerów z pgAdmin 3 na pgAdmin 4 (aby nie musiałem ponownie tworzyć serwerów jeden po drugim).
Szkoda, że zapomnieli wdrożyć ścieżkę migracji, aby zaimportować pgAdmin 3 do pgAdmin 4.
Sungam
1
Dzięki za wysłanie. Co powiesz na OSX?
sieć
Odpowiedzi:
4
W systemie Windows w C: \ Users \% user% \ AppData \ Roaming \ pgAdmin można znaleźć pgadmin4.db, w którym pgAdmin4 zapisuje swoją konfigurację. Jest to format 3 SQLite i za pomocą przeglądarki SQLite możesz go otworzyć i wstawić serwery do tabeli serwerów, a następnie zapisać i dodać je do pgAdmin4. Pamiętaj, że hasła są zapisywane w postaci zaszyfrowanej, więc pozostaw NULL, aby wprowadzić je później. Teraz możesz stworzyć skrypt SQL, który odczytuje eksport rejestru z pgAdmin III i wstawia do tabeli w celu w pełni zautomatyzowanego procesu.
pgAdmin nie ma funkcji połączeń z serwerem eksportu / importu ...
Stephan
1
Pod Linuksem (Ubuntu 16.04, w moim przypadku, ale musi być także w innych systemach), znajdziesz .pgadmin3plik w swoim katalogu domowym. W tym pliku konfiguracyjnym znajdują się wpisy takie jak
Część „Serwery” powyżej odnosi się do grupy serwerów, na którą należy zwrócić uwagę.
Z pewną starannością możesz wydobyć z tego niezbędne dane w odpowiednim formacie (może to być nawet kilka INSERTinstrukcji, patrz poniżej).
W swoim katalogu domowym znajdziesz pgadmin4.dbplik (dokładna lokalizacja może zależeć od sposobu instalacji pgAdmin4). To jest baza danych SQLIte 3 (jak również opisano w innej odpowiedzi ) i zawiera servertabelę:
sqlite>.schema server
CREATETABLE server (
id INTEGER NOTNULL,
user_id INTEGER NOTNULL,
servergroup_id INTEGER NOTNULL,
name VARCHAR(128)NOTNULL,
host VARCHAR(128)NOTNULL,
port INTEGER NOTNULLCHECK(port >=1024AND port <=65535),
maintenance_db VARCHAR(64)NOTNULL,
username VARCHAR(64)NOTNULL,
ssl_mode VARCHAR(16)NOTNULLCHECK(
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 default0, bgcolor TEXT(10), fgcolor TEXT(10),PRIMARYKEY(id),FOREIGNKEY(user_id)REFERENCESuser(id),FOREIGNKEY(servergroup_id)REFERENCES servergroup (id));
Najpierw musisz utworzyć grupę (grupy) serwerów, co lepiej zrobić z interfejsu użytkownika, ponieważ poinformuje Cię user_id, że musisz utworzyć serwer przy użyciu INSERT INTO server ....
Odpowiedzi:
W systemie Windows w C: \ Users \% user% \ AppData \ Roaming \ pgAdmin można znaleźć pgadmin4.db, w którym pgAdmin4 zapisuje swoją konfigurację. Jest to format 3 SQLite i za pomocą przeglądarki SQLite możesz go otworzyć i wstawić serwery do tabeli serwerów, a następnie zapisać i dodać je do pgAdmin4. Pamiętaj, że hasła są zapisywane w postaci zaszyfrowanej, więc pozostaw NULL, aby wprowadzić je później. Teraz możesz stworzyć skrypt SQL, który odczytuje eksport rejestru z pgAdmin III i wstawia do tabeli w celu w pełni zautomatyzowanego procesu.
źródło
Pod Linuksem (Ubuntu 16.04, w moim przypadku, ale musi być także w innych systemach), znajdziesz
.pgadmin3
plik w swoim katalogu domowym. W tym pliku konfiguracyjnym znajdują się wpisy takie jakCzęść „Serwery” powyżej odnosi się do grupy serwerów, na którą należy zwrócić uwagę.
Z pewną starannością możesz wydobyć z tego niezbędne dane w odpowiednim formacie (może to być nawet kilka
INSERT
instrukcji, patrz poniżej).W swoim katalogu domowym znajdziesz
pgadmin4.db
plik (dokładna lokalizacja może zależeć od sposobu instalacji pgAdmin4). To jest baza danych SQLIte 3 (jak również opisano w innej odpowiedzi ) i zawieraserver
tabelę:Najpierw musisz utworzyć grupę (grupy) serwerów, co lepiej zrobić z interfejsu użytkownika, ponieważ poinformuje Cię
user_id
, że musisz utworzyć serwer przy użyciuINSERT INTO server ...
.źródło