ฉันลองวิธีแก้ไขปัญหาที่แตกต่างกันมากมายสำหรับการกู้คืนข้อมูลสำรอง postgres ของฉัน ฉันพบปัญหาในการปฏิเสธ MacOS ไม่มีสิทธิ์ดูเหมือนว่าจะทำงานได้
นี่คือวิธีที่ฉันได้มันไปทำงาน:
Postgres มาพร้อมกับ Pgadmin4 หากคุณใช้ macOS คุณสามารถกดCMD
+ SPACE
และพิมพ์pgadmin4
เพื่อเรียกใช้ สิ่งนี้จะเปิดแท็บเบราว์เซอร์ใน Chrome
หากคุณพบข้อผิดพลาดในการทำให้ pgadmin4 ทำงานให้ลองใช้killall pgAdmin4
เทอร์มินัลแล้วลองอีกครั้ง
ขั้นตอนในการรับ pgadmin4 + backup / restore
1. สร้างการสำรองข้อมูล
ทำได้โดยคลิกขวาที่ฐานข้อมูล -> "สำรอง"
2. ตั้งชื่อไฟล์
กดtest12345
ไลค์ คลิกสำรองข้อมูล สิ่งนี้สร้างดัมพ์ไฟล์ไบนารีไม่ใช่ใน.sql
รูปแบบ
3. ดูว่ามันดาวน์โหลดที่ไหน
ควรมีป๊อปอัพที่ด้านล่างของหน้าจอของคุณ คลิกหน้า "รายละเอียดเพิ่มเติม" เพื่อดูว่าข้อมูลสำรองของคุณดาวน์โหลดไปที่ใด
4. ค้นหาตำแหน่งของไฟล์ที่ดาวน์โหลด
ในกรณีนี้มันเป็น /users/vincenttang
5. กู้คืนข้อมูลสำรองจาก pgadmin
สมมติว่าคุณทำตามขั้นตอนที่ 1 ถึง 4 อย่างถูกต้องคุณจะมีไฟล์ไบนารีกู้คืน อาจมีบางครั้งที่เพื่อนร่วมงานของคุณต้องการใช้ไฟล์กู้คืนในเครื่องของพวกเขา ได้กล่าวว่าคนไป pgadmin และเรียกคืน
ทำได้โดยคลิกขวาที่ฐานข้อมูล -> "กู้คืน"
6. เลือกค้นหาไฟล์
อย่าลืมเลือกตำแหน่งไฟล์ด้วยตัวเองอย่าลากและวางไฟล์ลงในช่องอัพโหลดใน pgadmin เพราะคุณจะพบข้อผิดพลาดในการอนุญาต ค้นหาไฟล์ที่คุณเพิ่งสร้างขึ้นแทน:
7. ค้นหาไฟล์ดังกล่าว
คุณอาจต้องเปลี่ยนตัวกรองที่ด้านล่างเป็น "ไฟล์ทั้งหมด" ค้นหาไฟล์หลังจากนั้นจากขั้นตอนที่ 4 ตอนนี้กดปุ่ม "เลือก" ที่ด้านล่างเพื่อยืนยัน
8. กู้คืนไฟล์ดังกล่าว
คุณจะเห็นหน้านี้อีกครั้งโดยเลือกตำแหน่งของไฟล์ ไปข้างหน้าและเรียกคืน
9. สำเร็จ
หากทุกอย่างดีด้านล่างขวาควรป๊อปอัพตัวบ่งชี้ที่แสดงว่าการกู้คืนสำเร็จ คุณสามารถนำทางไปยังตารางของคุณเพื่อดูว่าข้อมูลได้รับการกู้คืนที่เหมาะสมในแต่ละตารางหรือไม่
10. ถ้าไม่สำเร็จ:
หากขั้นตอนที่ 9 ล้มเหลวลองลบสคีมาเก่าของคุณในฐานข้อมูลของคุณ ไปที่ "เครื่องมือค้นหา"
ดำเนินการบล็อกรหัสนี้:
DROP SCHEMA public CASCADE; CREATE SCHEMA public;
ตอนนี้ลองขั้นตอนที่ 5 ถึง 9 อีกครั้งมันควรจะได้ผล
สรุป
นี่คือวิธีที่ฉันต้องสำรอง / กู้คืนการสำรองข้อมูลของฉันใน Postgres เมื่อฉันมีปัญหาการอนุญาตข้อผิดพลาดและไม่สามารถเข้าสู่ระบบในฐานะ superuser หรือตั้งค่าข้อมูลรับรองสำหรับการอ่าน / เขียนโดยใช้chmod
สำหรับโฟลเดอร์ เวิร์กโฟลว์นี้ทำงานสำหรับการถ่ายโอนข้อมูลไฟล์ไบนารีเริ่มต้นเป็น "กำหนดเอง" จาก pgadmin ฉันถือว่า.sql
เป็นวิธีเดียวกัน แต่ฉันยังไม่ได้ทดสอบ
ERROR: syntax error at or near "t"
. ปรากฎว่าฉันได้นำเข้าสคีมาเพียงบางส่วนและทำให้CREATE TABLE
คำสั่งก่อนหน้าในสคริปต์ล้มเหลว ดูเอาต์พุตทั้งหมดของการนำเข้าเพื่อค้นหา