Bagaimana cara mengimpor daftar server saya dari pgAdmin 3 ke pgAdmin 4?
12
Saya bertanya-tanya apakah ada cara untuk mengimpor daftar server saya dari pgAdmin 3 ke pgAdmin 4 (sehingga saya tidak perlu membuat server satu per satu lagi).
Itu buruk mereka lupa menerapkan jalur migrasi untuk mengimpor pgAdmin 3 ke pgAdmin 4.
Sungam
1
Terima kasih sudah memposting. Bagaimana dengan OSX?
rantai kerja
Jawaban:
4
Untuk Windows di C: \ Users \% user% \ AppData \ Roaming \ pgAdmin Anda dapat menemukan pgadmin4.db yang merupakan tempat pgAdmin4 menyimpan konfigurasinya. Ini adalah format SQLite 3 dan dengan browser SQLite Anda dapat membukanya dan memasukkan server ke dalam tabel server dan kemudian menyimpan dan mereka ditambahkan ke pgAdmin4. Perhatikan bahwa kata sandi disimpan terenkripsi jadi biarkan NULL untuk memasangnya nanti. Sekarang Anda dapat membuat skrip sql yang membaca ekspor registri dari pgAdmin III dan menyisipkan ke dalam tabel untuk proses yang sepenuhnya otomatis.
pgAdmin tidak memiliki fitur koneksi server ekspor / impor ...
Stephan
1
Di linux (Ubuntu 16.04, dalam kasus saya, tetapi harus ada di sistem lain juga), Anda akan menemukan .pgadmin3file di direktori home Anda. Dalam file konfigurasi ini ada entri seperti
Bagian 'Server' di atas merujuk ke grup server, yang penting untuk diperhatikan.
Dengan sedikit ketekunan, Anda dapat mengekstrak data yang diperlukan dari ini dalam format yang sesuai (bisa berupa sekelompok INSERTpernyataan, lihat di bawah).
Di bawah direktori home Anda, Anda akan menemukan pgadmin4.dbfile (lokasi yang tepat mungkin tergantung pada bagaimana Anda menginstal pgAdmin4). Ini adalah database SQLIte 3 (seperti juga dijelaskan dalam jawaban lain ), dan ada servertabel di dalamnya:
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));
Anda harus membuat grup server terlebih dahulu, yang lebih baik dilakukan dari UI, karena akan memberi tahu Anda apa user_idyang Anda butuhkan untuk membuat server menggunakan INSERT INTO server ....
Jawaban:
Untuk Windows di C: \ Users \% user% \ AppData \ Roaming \ pgAdmin Anda dapat menemukan pgadmin4.db yang merupakan tempat pgAdmin4 menyimpan konfigurasinya. Ini adalah format SQLite 3 dan dengan browser SQLite Anda dapat membukanya dan memasukkan server ke dalam tabel server dan kemudian menyimpan dan mereka ditambahkan ke pgAdmin4. Perhatikan bahwa kata sandi disimpan terenkripsi jadi biarkan NULL untuk memasangnya nanti. Sekarang Anda dapat membuat skrip sql yang membaca ekspor registri dari pgAdmin III dan menyisipkan ke dalam tabel untuk proses yang sepenuhnya otomatis.
sumber
Di linux (Ubuntu 16.04, dalam kasus saya, tetapi harus ada di sistem lain juga), Anda akan menemukan
.pgadmin3
file di direktori home Anda. Dalam file konfigurasi ini ada entri sepertiBagian 'Server' di atas merujuk ke grup server, yang penting untuk diperhatikan.
Dengan sedikit ketekunan, Anda dapat mengekstrak data yang diperlukan dari ini dalam format yang sesuai (bisa berupa sekelompok
INSERT
pernyataan, lihat di bawah).Di bawah direktori home Anda, Anda akan menemukan
pgadmin4.db
file (lokasi yang tepat mungkin tergantung pada bagaimana Anda menginstal pgAdmin4). Ini adalah database SQLIte 3 (seperti juga dijelaskan dalam jawaban lain ), dan adaserver
tabel di dalamnya:Anda harus membuat grup server terlebih dahulu, yang lebih baik dilakukan dari UI, karena akan memberi tahu Anda apa
user_id
yang Anda butuhkan untuk membuat server menggunakanINSERT INTO server ...
.sumber