Backup -สำรอง ฐานข้อมูล PostgreSQL ด้วย Command pg_dump และ pgAdmin

PostgreSQL แชร์ความรู้เกี่ยวกับ PostgreSQL การใช้งาน ฟังก์ชั่นต่างๆ การเขียน SQL แบบ PGSQL

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41120
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Backup -สำรอง ฐานข้อมูล PostgreSQL ด้วย Command pg_dump และ pgAdmin

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

- Backup ฐานข้อมูล PostgreSQL ด้วย pgAdmin
Command สำหรับ Backup ฐานข้อมูล
รูปแบบคำสั่ง
pg_dump -h [hostname] -P [port_number] -U [username] [databasename] > [backup_file].dump
ตัวอย่างบน linux

โค้ด: เลือกทั้งหมด

pg_dump -h localhost -U username  databasename > databasename.dump
ตัวอย่างบน windows

โค้ด: เลือกทั้งหมด

//path to/PostgreSQL/bin\pg_dump.exe --host localhost --port 5432 --username "openpg" --no-password  --verbose --file "C:\\path to backup folder\db_name.backup" "db_name"
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41120
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: Backup ฐานข้อมูล PostgreSQL ด้วย Command, pgAdmin

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ถ้ามีข้อความแจ้ง Error

โค้ด: เลือกทั้งหมด

pg_dumpall -U postgres -p 5678 > alldbs.pgsql
pg_dumpall: could not connect to database "template1": could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5678"?
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41120
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: Backup -สำรอง ฐานข้อมูล PostgreSQL ด้วย Command pg_dump และ pgAdmin

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

อัพเดด รูปแบบที่ ชุดคำสั่งที่ โพสต์ แรก
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41120
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: Backup -สำรอง ฐานข้อมูล PostgreSQL ด้วย Command pg_dump และ pgAdmin

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

วิธี Restore สามารถดูต่อได้ที่นี่
viewtopic.php?f=115&t=31727
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
MBMoo
PHP VIP Members
PHP VIP Members
โพสต์: 25342
ลงทะเบียนเมื่อ: 04/06/2020 10:05 am

Re: Backup -สำรอง ฐานข้อมูล PostgreSQL ด้วย Command pg_dump และ pgAdmin

โพสต์ที่ยังไม่ได้อ่าน โดย MBMoo »

mindphp เขียน: 10/01/2022 1:08 pm วิธี Restore สามารถดูต่อได้ที่นี่
viewtopic.php?f=115&t=31727

โค้ด: เลือกทั้งหมด

pg_dump -h localhost -U username  databasename > databasename.dump
ใช้ คำสั่งตามนี้แล้ว ไฟล์ที่ได้มาเป็นประเภท text ค่ะ และไม่สามารถ restore ได้ ขึ้นแจ้งว่า
pg_restore: error: input file appears to be a text format dump. Please use psql.
PostgreSQL-1.png
PostgreSQL-1.png (9.43 KiB) Viewed 3055 times
ภาพประจำตัวสมาชิก
MBMoo
PHP VIP Members
PHP VIP Members
โพสต์: 25342
ลงทะเบียนเมื่อ: 04/06/2020 10:05 am

Re: Backup -สำรอง ฐานข้อมูล PostgreSQL ด้วย Command pg_dump และ pgAdmin

โพสต์ที่ยังไม่ได้อ่าน โดย MBMoo »

สร้าง database ก่อน แล้วใช้คำสั่งด้านล่างนี้

หาก เป็น text format การ restore จะใช้ pg_restore ไม่ได้ ให้ใช้ psql

โค้ด: เลือกทั้งหมด

psql -U username -p port -h localhost -d databasename < filename.dump
norisa_dl
PHP VIP Members
PHP VIP Members
โพสต์: 2486
ลงทะเบียนเมื่อ: 19/04/2021 9:57 am

Re: Backup -สำรอง ฐานข้อมูล PostgreSQL ด้วย Command pg_dump และ pgAdmin

โพสต์ที่ยังไม่ได้อ่าน โดย norisa_dl »

สอบถามค่ะ จากคำสั่งอันนี้ (windows)
//path to/PostgreSQL/bin\pg_dump.exe --host localhost --port 5432 --username "openpg" --no-password --verbose --file "C:\\path to backup folder\db_name.backup" "db_name"
ไม่ทราบว่า path ของ "path to/PostgreSQL/bin\pg_dump.exe" ดูได้จากตรงไหนคะ ในเครื่องมีโฟลเดอร์ชื่อ pgAdmin 4
path1.png
path1.png (10.75 KiB) Viewed 3028 times
path2.png
path2.png (67.66 KiB) Viewed 3028 times
path3.png
path3.png (62.69 KiB) Viewed 3028 times
ลองรันคำสั่งตามนี้

โค้ด: เลือกทั้งหมด

C:\Program Files (x86)\pgAdmin 4\v4\runtime\pg_dump.exe --host localhost --port 5432 --username "openpg" --no-password  --verbose --file "C:\Users\m145\Downloads\azking_test1.dump" "azking_test1"
ขึ้นเออเรอร์แบบนี้ค่ะ
x86 : The term 'x86' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:19
+ C:\Program Files (x86)\pgAdmin 4\v4\runtime\pg_dump.exe --host localh ...
+ ~~~
+ CategoryInfo : ObjectNotFound: (x86:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
norisa_dl
PHP VIP Members
PHP VIP Members
โพสต์: 2486
ลงทะเบียนเมื่อ: 19/04/2021 9:57 am

Re: Backup -สำรอง ฐานข้อมูล PostgreSQL ด้วย Command pg_dump และ pgAdmin

โพสต์ที่ยังไม่ได้อ่าน โดย norisa_dl »

ตอนนี้ทำได้เเล้วค่ะ ให้เข้าไปที่ path ของ psql.exe
หากมีเครื่องคอมพิวเตอร์มีการตั้งรหัสก็ให้กรอกรหัส เเล้วรันคำสั่งนี้

โค้ด: เลือกทั้งหมด

psql.exe -U USERNAME -d DATABASENAME -f  BACKUP_FILE_NAME.dumt
จากนั้นจะขึ้นให้กรอกรหัสของ username กด enter จากนั้นรอให้เครื่องดำเนินการให้เสร็จ

**** ถ้ามีชื่อ host ให้ระบุชื่อ host ตามไปด้วย
norisa_dl
PHP VIP Members
PHP VIP Members
โพสต์: 2486
ลงทะเบียนเมื่อ: 19/04/2021 9:57 am

Re: Backup -สำรอง ฐานข้อมูล PostgreSQL ด้วย Command pg_dump และ pgAdmin

โพสต์ที่ยังไม่ได้อ่าน โดย norisa_dl »

สอบถามค่ะ ทำการ restore ข้อมูลแล้ว ขึ้นว่า
C:\Program Files (x86)\pgAdmin 4\v4\runtime>psql.exe -U openpg -d mdsoft_azking01 -f E:\azking_erp_v4_20220112_20_00_01.dumt
could not determine encoding for locale "Thai_Thailand.utf8": codeset is "CPutf8"
Password for user openpg:
could not determine encoding for locale "Thai_Thailand.utf8": codeset is "CPutf8"
E:/azking_erp_v4_20220112_20_00_01.dumt: No such file or directory
ฐานข้อมูลไว้ใน pgadmin เตรียมไว้แล้วและรหัสที่กรอกก็เป็น openpgpwd แล้วด้วยค่ะ ไม่ทราบว่าต้องแก้ยังไงคะ

ลองทำจากในระบบ openerp เลยก็ไม่ได้เหมือนกันค่ะ
PostgreSQL-1.png
PostgreSQL-1.png (46.81 KiB) Viewed 2694 times
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41120
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: Backup -สำรอง ฐานข้อมูล PostgreSQL ด้วย Command pg_dump และ pgAdmin

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ชื่อไฟล์ผิดหรือเปล่า
E:/***_erp_v4_20220112_20_00_01.dumt: No such file or directory
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 30