Tips Teknologi: Bagaimana cara mencadangkan dan mengembalikan database Postgres?

Karan Singh

19 Jun 2013

Email

1 min read

Tips Teknologi: Bagaimana cara mencadangkan dan mengembalikan database Postgres?

Intisari Utama

    • Cadangan PostgreSQL dapat menargetkan satu tabel, satu basis data, atau semua basis data tergantung pada kebutuhan Anda.

    • pg_dump membuat file teks SQL yang berisi DDL dan data yang diperlukan untuk menciptakan kembali tabel atau basis data target.

    • pg_dumpall mencadangkan setiap basis data pada instance Postgres.

    • Pemulihan dilakukan dengan psql, yang mengeksekusi SQL dump kembali ke dalam basis data target.

    • Pemulihan tingkat tabel memerlukan memastikan bahwa tabel tidak sudah ada untuk menghindari konflik.

    • Ketika mencadangkan tabel individu, perhatikan ketergantungan relasional.

    • Dump dapat diambil dari lokal dan dipulihkan ke instance Postgres remote.

    • Cadangan mencakup perintah CREATE, ALTER, dan COPY tergantung pada apa yang diekspor.

    • Strategi cadangan yang tepat bergantung pada pemahaman hubungan tabel, penggunaan skema, dan lingkungan penerapan.

    • Selalu pastikan integritas data dengan mengambil cadangan yang mencakup tabel referensi ketika diperlukan.

Sorotan Q&A

  • Apa yang sebenarnya dilakukan oleh pg_dump?

    pg_dump menghasilkan sebuah file SQL berbasis teks yang berisi seluruh perintah yang diperlukan untuk membuat kembali tabel atau database persis seperti yang ada pada saat pencadangan.

  • Dapatkah saya mencadangkan hanya satu tabel daripada seluruh database?

    Ya. Gunakan pg_dump --table TABLENAME untuk mengekspor tabel tertentu. Jika tabel dengan nama yang sama ada di berbagai skema, gunakan --schema untuk menentukan yang benar.

  • Haruskah saya khawatir tentang tabel terkait ketika mencadangkan satu tabel?

    Tentu saja. PostgreSQL adalah sistem manajemen basis data relasional, sehingga tabel lain mungkin merujuk pada tabel yang Anda cadangkan. Jika Anda memulihkan hanya satu tabel tanpa tabel terkait, Anda mungkin merusak integritas referensial.

  • Bagaimana cara mencadangkan seluruh database?

    Jalankan perintah seperti:

    pg_dump -U <user> <database> -f <output.sql>

    Ini mengekspor semua tabel, definisi skema, indeks, dan data untuk database tersebut.

  • Apa yang dilakukan oleh pg_dumpall?

    pg_dumpall mencadangkan setiap database di server ke dalam satu file SQL. Ini berguna saat memigrasi atau mengambil snapshot seluruh instance Postgres.

  • Dapatkah saya memulihkan tabel ke dalam database yang sudah ada?

    Ya. Gunakan psql -U <user> -f <file.sql> <database>.

    Tapi pastikan tabel tidak sudah ada — jika tidak, Anda akan mendapatkan kesalahan "sudah ada" selama pemulihan.

  • Apa yang terjadi selama pemulihan database penuh?

    File pemulihan berjalan:

    • CREATE TABLE

    • ALTER TABLE

    • COPY (untuk data tabel)
      mengembalikan basis data ke statusnya yang tepat pada saat dump.

  • Dapatkah saya memulihkan ke server yang berbeda dari tempat saya membuat cadangan?

    Ya. Dump dapat dipindahkan. Anda dapat mengambil cadangan secara lokal dan memulihkannya ke instans Postgres jarak jauh, asalkan versinya kompatibel.

  • Apakah pg_dump mempengaruhi database yang sedang berjalan?

    Tidak. Ini berfungsi melalui kueri SQL dan tidak mengunci seluruh basis data. Ini dengan aman menangkap snapshot yang konsisten.

  • Bagaimana cara saya mengembalikan semua basis data dari file pg_dumpall?

    Gunakan:

    psql -U <user> -f all_dump.sql

    Ini akan membuat ulang setiap basis data yang ditemukan dalam dump.

Pertama, sebuah penafian. Pos ini memberikan panduan umum tentang cara mencadangkan Tabel Database Postgres. Contoh yang diberikan tidak merujuk pada tabel atau database tertentu. Jika Anda mencoba untuk mencadangkan tabel tertentu, Anda juga harus mencadangkan tabel yang merujuk ke tabel asli. Karena Postgres adalah database relasional, selalu ada referensi antara sejumlah tabel.

Ini adalah dokumen 'cara' yang hanya memberikan contoh perintah, bagaimana itu dilakukan sebenarnya sepenuhnya bergantung pada orang yang melakukannya dan kasus penggunaan tertentu. Selalu pertahankan integritas data yang Anda coba cadangkan. Mencadangkan seluruh database selalu merupakan opsi yang aman, tetapi saat mencadangkan tabel tertentu, seseorang perlu berhati-hati.

Pertama, sebuah penafian. Pos ini memberikan panduan umum tentang cara mencadangkan Tabel Database Postgres. Contoh yang diberikan tidak merujuk pada tabel atau database tertentu. Jika Anda mencoba untuk mencadangkan tabel tertentu, Anda juga harus mencadangkan tabel yang merujuk ke tabel asli. Karena Postgres adalah database relasional, selalu ada referensi antara sejumlah tabel.

Ini adalah dokumen 'cara' yang hanya memberikan contoh perintah, bagaimana itu dilakukan sebenarnya sepenuhnya bergantung pada orang yang melakukannya dan kasus penggunaan tertentu. Selalu pertahankan integritas data yang Anda coba cadangkan. Mencadangkan seluruh database selalu merupakan opsi yang aman, tetapi saat mencadangkan tabel tertentu, seseorang perlu berhati-hati.

Pertama, sebuah penafian. Pos ini memberikan panduan umum tentang cara mencadangkan Tabel Database Postgres. Contoh yang diberikan tidak merujuk pada tabel atau database tertentu. Jika Anda mencoba untuk mencadangkan tabel tertentu, Anda juga harus mencadangkan tabel yang merujuk ke tabel asli. Karena Postgres adalah database relasional, selalu ada referensi antara sejumlah tabel.

Ini adalah dokumen 'cara' yang hanya memberikan contoh perintah, bagaimana itu dilakukan sebenarnya sepenuhnya bergantung pada orang yang melakukannya dan kasus penggunaan tertentu. Selalu pertahankan integritas data yang Anda coba cadangkan. Mencadangkan seluruh database selalu merupakan opsi yang aman, tetapi saat mencadangkan tabel tertentu, seseorang perlu berhati-hati.

SQL-dump/pg_dump:

Ide di balik metode SQL-dump adalah untuk menghasilkan file teks dengan perintah SQL yang, ketika dimasukkan kembali ke server, akan menciptakan kembali database dalam keadaan yang sama seperti saat dilakukan dump. PostgreSQL menyediakan program utilitas pg_dump untuk tujuan ini.

pg_dump adalah alat yang efektif dan komprehensif untuk mengambil cadangan database Postgres dan menggunakan cadangan tersebut untuk memulihkan database postgres. Namun, ini tidak hanya terbatas pada Database saja. Kita dapat menggunakan pg_dump untuk mencadangkan tabel dan kemudian menggunakannya untuk memulihkan tabel individual juga. Menggunakan pg_dump Anda dapat mencadangkan database lokal dan memulihkannya pada database jarak jauh.

Ide di balik metode SQL-dump adalah untuk menghasilkan file teks dengan perintah SQL yang, ketika dimasukkan kembali ke server, akan menciptakan kembali database dalam keadaan yang sama seperti saat dilakukan dump. PostgreSQL menyediakan program utilitas pg_dump untuk tujuan ini.

pg_dump adalah alat yang efektif dan komprehensif untuk mengambil cadangan database Postgres dan menggunakan cadangan tersebut untuk memulihkan database postgres. Namun, ini tidak hanya terbatas pada Database saja. Kita dapat menggunakan pg_dump untuk mencadangkan tabel dan kemudian menggunakannya untuk memulihkan tabel individual juga. Menggunakan pg_dump Anda dapat mencadangkan database lokal dan memulihkannya pada database jarak jauh.

Ide di balik metode SQL-dump adalah untuk menghasilkan file teks dengan perintah SQL yang, ketika dimasukkan kembali ke server, akan menciptakan kembali database dalam keadaan yang sama seperti saat dilakukan dump. PostgreSQL menyediakan program utilitas pg_dump untuk tujuan ini.

pg_dump adalah alat yang efektif dan komprehensif untuk mengambil cadangan database Postgres dan menggunakan cadangan tersebut untuk memulihkan database postgres. Namun, ini tidak hanya terbatas pada Database saja. Kita dapat menggunakan pg_dump untuk mencadangkan tabel dan kemudian menggunakannya untuk memulihkan tabel individual juga. Menggunakan pg_dump Anda dapat mencadangkan database lokal dan memulihkannya pada database jarak jauh.

Cara Backup Postgres Database:

Cadangkan Tabel Postgres:

$ /opt/msys/3rdParty/bin/pg_dump–table maincontrol.orgs -U ecuser pe -f ms_table.sql

Perintah di atas adalah contoh cara mencadangkan tabel tertentu dari database Postgres. Menggunakan perintah di atas, kita mencadangkan tabel ‘orgs’ dalam skema ‘maincontrol’ dari database ‘pe’ ke file ms_table.sql. Untuk mencadangkan tabel tertentu, gunakan opsi –table TABLENAME dalam perintah pg_dump. Jika ada nama tabel yang sama di skema yang berbeda, maka gunakan opsi –schema SCHEMANAME.

  1. Cadangkan Database Postgres Tertentu :

    $ /opt/msys/3rdParty/bin/pg_dump -U ecuser pe -f pe_dump.sql

    Ini adalah contoh pencadangan database Postgres tertentu. Menggunakan perintah di atas, kita mencadangkan database untuk Message Central ‘pe’ ke file pe_dump.sql. File cadangan memiliki perintah create table, alter table, dan copy untuk semua tabel dalam database ‘pe’.

  2. Cadangkan Semua Database Postgres :

    $ /opt/msys/3rdParty/bin/pg_dumpall -U ecuser> all_dump.sql

    Anda dapat mencadangkan semua database menggunakan perintah pg_dumpall. Perintah di atas akan membuat dump dari semua database yang berada pada instance Postgres yang berjalan di server tertentu. Untuk daftar semua database yang telah dicadangkan, gunakan perintah grep "^[\]connect" all.sql.

Cadangkan Tabel Postgres:

$ /opt/msys/3rdParty/bin/pg_dump–table maincontrol.orgs -U ecuser pe -f ms_table.sql

Perintah di atas adalah contoh cara mencadangkan tabel tertentu dari database Postgres. Menggunakan perintah di atas, kita mencadangkan tabel ‘orgs’ dalam skema ‘maincontrol’ dari database ‘pe’ ke file ms_table.sql. Untuk mencadangkan tabel tertentu, gunakan opsi –table TABLENAME dalam perintah pg_dump. Jika ada nama tabel yang sama di skema yang berbeda, maka gunakan opsi –schema SCHEMANAME.

  1. Cadangkan Database Postgres Tertentu :

    $ /opt/msys/3rdParty/bin/pg_dump -U ecuser pe -f pe_dump.sql

    Ini adalah contoh pencadangan database Postgres tertentu. Menggunakan perintah di atas, kita mencadangkan database untuk Message Central ‘pe’ ke file pe_dump.sql. File cadangan memiliki perintah create table, alter table, dan copy untuk semua tabel dalam database ‘pe’.

  2. Cadangkan Semua Database Postgres :

    $ /opt/msys/3rdParty/bin/pg_dumpall -U ecuser> all_dump.sql

    Anda dapat mencadangkan semua database menggunakan perintah pg_dumpall. Perintah di atas akan membuat dump dari semua database yang berada pada instance Postgres yang berjalan di server tertentu. Untuk daftar semua database yang telah dicadangkan, gunakan perintah grep "^[\]connect" all.sql.

Cadangkan Tabel Postgres:

$ /opt/msys/3rdParty/bin/pg_dump–table maincontrol.orgs -U ecuser pe -f ms_table.sql

Perintah di atas adalah contoh cara mencadangkan tabel tertentu dari database Postgres. Menggunakan perintah di atas, kita mencadangkan tabel ‘orgs’ dalam skema ‘maincontrol’ dari database ‘pe’ ke file ms_table.sql. Untuk mencadangkan tabel tertentu, gunakan opsi –table TABLENAME dalam perintah pg_dump. Jika ada nama tabel yang sama di skema yang berbeda, maka gunakan opsi –schema SCHEMANAME.

  1. Cadangkan Database Postgres Tertentu :

    $ /opt/msys/3rdParty/bin/pg_dump -U ecuser pe -f pe_dump.sql

    Ini adalah contoh pencadangan database Postgres tertentu. Menggunakan perintah di atas, kita mencadangkan database untuk Message Central ‘pe’ ke file pe_dump.sql. File cadangan memiliki perintah create table, alter table, dan copy untuk semua tabel dalam database ‘pe’.

  2. Cadangkan Semua Database Postgres :

    $ /opt/msys/3rdParty/bin/pg_dumpall -U ecuser> all_dump.sql

    Anda dapat mencadangkan semua database menggunakan perintah pg_dumpall. Perintah di atas akan membuat dump dari semua database yang berada pada instance Postgres yang berjalan di server tertentu. Untuk daftar semua database yang telah dicadangkan, gunakan perintah grep "^[\]connect" all.sql.

Cara Memulihkan Database Postgres

  1. Memulihkan tabel Postgres :

    $ /opt/msys/3rdParty/bin/psql -U ecuser -f ms_table.sql pe

    Perintah di atas akan menginstal tabel yang telah dicadangkan dalam file ms_table.sql ke dalam database ‘pe’. Pastikan bahwa tabel ini belum ada, atau Anda akan melihat banyak kesalahan 'sudah ada'. Perintah ini membuat tabel dan mengekspor semua data ke tabel yang baru dibuat.

  2. Memulihkan Database postgres :

    $ /opt/msys/3rdParty/bin/psql -U ecuser -d pe -f pe_dump.sql

    Serupa dengan memulihkan tabel, kita dapat menggunakan perintah di atas untuk memulihkan database lengkap. Di sini kita memulihkan database ‘pe’ menggunakan file pe_dump.sql yang kita buat saat mencadangkan database di bagian Cadangan di atas.

  3. Memulihkan semua Database :

    $ /opt/msys/3rdParty/bin/psql -u ecuser -f all_dump.sql

    Memulihkan semua database menggunakan perintah di atas. ‘all_dump.sql’ adalah file yang dibuat menggunakan pg_dumpall. Perintah di atas akan memberi kita semua database Postgres dalam keadaan persis seperti saat dump diambil dari server database asli.

  1. Memulihkan tabel Postgres :

    $ /opt/msys/3rdParty/bin/psql -U ecuser -f ms_table.sql pe

    Perintah di atas akan menginstal tabel yang telah dicadangkan dalam file ms_table.sql ke dalam database ‘pe’. Pastikan bahwa tabel ini belum ada, atau Anda akan melihat banyak kesalahan 'sudah ada'. Perintah ini membuat tabel dan mengekspor semua data ke tabel yang baru dibuat.

  2. Memulihkan Database postgres :

    $ /opt/msys/3rdParty/bin/psql -U ecuser -d pe -f pe_dump.sql

    Serupa dengan memulihkan tabel, kita dapat menggunakan perintah di atas untuk memulihkan database lengkap. Di sini kita memulihkan database ‘pe’ menggunakan file pe_dump.sql yang kita buat saat mencadangkan database di bagian Cadangan di atas.

  3. Memulihkan semua Database :

    $ /opt/msys/3rdParty/bin/psql -u ecuser -f all_dump.sql

    Memulihkan semua database menggunakan perintah di atas. ‘all_dump.sql’ adalah file yang dibuat menggunakan pg_dumpall. Perintah di atas akan memberi kita semua database Postgres dalam keadaan persis seperti saat dump diambil dari server database asli.

  1. Memulihkan tabel Postgres :

    $ /opt/msys/3rdParty/bin/psql -U ecuser -f ms_table.sql pe

    Perintah di atas akan menginstal tabel yang telah dicadangkan dalam file ms_table.sql ke dalam database ‘pe’. Pastikan bahwa tabel ini belum ada, atau Anda akan melihat banyak kesalahan 'sudah ada'. Perintah ini membuat tabel dan mengekspor semua data ke tabel yang baru dibuat.

  2. Memulihkan Database postgres :

    $ /opt/msys/3rdParty/bin/psql -U ecuser -d pe -f pe_dump.sql

    Serupa dengan memulihkan tabel, kita dapat menggunakan perintah di atas untuk memulihkan database lengkap. Di sini kita memulihkan database ‘pe’ menggunakan file pe_dump.sql yang kita buat saat mencadangkan database di bagian Cadangan di atas.

  3. Memulihkan semua Database :

    $ /opt/msys/3rdParty/bin/psql -u ecuser -f all_dump.sql

    Memulihkan semua database menggunakan perintah di atas. ‘all_dump.sql’ adalah file yang dibuat menggunakan pg_dumpall. Perintah di atas akan memberi kita semua database Postgres dalam keadaan persis seperti saat dump diambil dari server database asli.

Berita lainnya

Baca lebih lanjut dari kategori ini

A person is standing at a desk while typing on a laptop.

Platform AI-native lengkap yang berkembang bersama bisnis Anda.

© 2025 Bird

A person is standing at a desk while typing on a laptop.

Platform AI-native lengkap yang berkembang bersama bisnis Anda.

© 2025 Bird