ฉันสงสัยว่ามีวิธีใดที่จะนำเข้ารายชื่อเซิร์ฟเวอร์ของฉันจาก pgAdmin 3 ไปยัง pgAdmin 4 (เพื่อที่ฉันจะได้ไม่ต้องสร้างเซิร์ฟเวอร์ทีละตัว)
ฉันสงสัยว่ามีวิธีใดที่จะนำเข้ารายชื่อเซิร์ฟเวอร์ของฉันจาก pgAdmin 3 ไปยัง pgAdmin 4 (เพื่อที่ฉันจะได้ไม่ต้องสร้างเซิร์ฟเวอร์ทีละตัว)
คำตอบ:
สำหรับ Windows ใน C: \ Users \% user% \ AppData \ Roaming \ pgAdmin คุณสามารถค้นหา pgadmin4.db ซึ่งเป็นที่ที่ pgAdmin4 บันทึกการกำหนดค่า เป็นรูปแบบ SQLite 3 และด้วยเบราว์เซอร์ SQLite คุณสามารถเปิดและแทรกเซิร์ฟเวอร์ลงในตารางเซิร์ฟเวอร์จากนั้นบันทึกและจะถูกเพิ่มใน pgAdmin4 โปรดทราบว่ารหัสผ่านจะถูกบันทึกไว้เข้ารหัสเพื่อปล่อยให้ NULL เพื่อป้อนพวกเขาในภายหลัง ตอนนี้คุณสามารถสร้างสคริปต์ sql ที่อ่านการส่งออกรีจิสตรีจาก pgAdmin III และแทรกลงในตารางสำหรับกระบวนการอัตโนมัติอย่างสมบูรณ์
ภายใต้ linux (Ubuntu 16.04 ในกรณีของฉัน แต่ต้องอยู่ในระบบอื่นด้วย) คุณจะพบ.pgadmin3
ไฟล์ในโฮมไดเร็กตอรี่ของคุณ ในไฟล์กำหนดค่านี้มีรายการที่ชอบ
[Servers/1]
Server=dezso.com
HostAddr=
Description=random
Service=
ServiceID=
DiscoveryID=
Port=5432
StorePwd=false
Rolename=
Restore=true
Database=postgres
Username=dezso
...
ส่วน 'เซิร์ฟเวอร์' ด้านบนอ้างถึงกลุ่มเซิร์ฟเวอร์ที่สำคัญต้องแจ้งให้ทราบ
ด้วยความขยันคุณสามารถดึงข้อมูลที่จำเป็นออกมาจากสิ่งนี้ในรูปแบบที่เหมาะสม (อาจเป็นINSERT
งบจำนวนมากดูด้านล่าง)
ภายใต้โฮมไดเรกทอรีของคุณคุณจะพบpgadmin4.db
ไฟล์ (ตำแหน่งที่แน่นอนอาจขึ้นอยู่กับวิธีที่คุณติดตั้ง pgAdmin4) นี่คือฐานข้อมูล SQLIte 3 (ตามที่อธิบายไว้ในคำตอบอื่น ๆ ) และมีserver
ตารางอยู่ภายใน:
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)
);
คุณต้องสร้างกลุ่มเซิร์ฟเวอร์ (s) เป็นครั้งแรกที่จะทำดีขึ้นจาก UI ที่เป็นมันจะบอกคุณว่าคุณจำเป็นสำหรับการสร้างเซิร์ฟเวอร์โดยใช้ user_id
INSERT INTO server ...