การสำรองข้อมูลและนำเข้าข้อมูลสู่ Heroku PostgreSQL - MUMT-IT/mis2018 GitHub Wiki

การสำรองข้อมูลด้วยคำสั่ง pg_dump เพื่อนำข้อมูลเข้าจาก local ไปที่ Heroku

$ pg_dump -Fc --no-owner mumtmis_db > mumtmis_db_$(date +%Y%m%d%H%M).dump

จากนั้น upload ไฟล์ไปที่ AWS S3 bucket

ปรับ permission ให้สามารถถึงได้จาก public โดยคลิกที่ชื่อไฟล์ และคลิกปุ่ม Make Public ในหน้าแท็บ overview

นำเข้าฐานข้อมูลด้วยคำสั่ง pg_restore

$ heroku pg:backups:restore 'https://mumtmis.s3.xxxx.xxxx.xxx/mumtmis_db_xxxxxxxxxxx.dump' DATABASE_URL

จากนั้นสามารถเข้าดูข้อมูลด้วยคำสั่ง

$ heroku pg:psql

การสำรองข้อมูลจาก Heroku สู่ local database

$ heroku pg:backups:capture -a mumtmis

$ heroku pg:backups:download -a mumtmis

หากต้องการเปลี่ยนชื่อไฟล์ตามวันที่และเวลาให้ใช้คำสั่งนี้

$ mv latest.dump mumtmis_db_$(date +%Y%m%d%T).dump

สร้างฐานข้อมูลหากยังไม่มี

$ createdb mumtmis_latest

หากต้องการลบฐานข้อมูลที่มีแล้วเพื่อสร้างใหม่ใช้คำสั่ง

$ dropdb mumtmis_latest

$ createdb mumtmis_latest

จากนั้นนำข้อมูลเข้าฐานข้อมูล

$ pg_restore -d mumtmis_latest --no-acl --no-owner <file.dump>

หากพบ error เกี่ยวกับ heroku extension ไม่ต้องสนใจ

⚠️ **GitHub.com Fallback** ⚠️