Cara mencadangkan dan mengembalikan database PostgreSQL (5 tips)

Cara mencadangkan dan mengembalikan database PostgreSQL (5 tips)

PostgreSQL Server Database (juga dikenal sebagai Postgres) adalah sistem manajemen basis data lanjutan. Server postgres menyediakan psql, PG_DUMP Dan PG_DUMPALL utilitas baris perintah untuk mencadangkan dan memulihkan database.

Artikel ini akan menjelaskan berbagai cara untuk digunakan PG_DUMP Perintah untuk mencadangkan database. Anda juga akan belajar cara mengembalikan cadangan database postgres melalui baris perintah.

Cadangan dan Pulihkan Basis Data di Postgres

Di bawah ini adalah beberapa opsi koneksi yang dapat Anda gunakan untuk menghubungkan server jarak jauh atau server yang diautentikasi dengan semua kueri yang diberikan dalam artikel ini.

  • -D, --DBNAME = DBNAME Nama Basis Data
  • -h, --host = nama host Hostname atau IP server database
  • -p, --port = port Nomor port server database (default: 5432)
  • -U, --UserName = Nama Hubungkan sebagai pengguna database yang ditentukan
  • -W, --password paksa kata sandi prompt
  • --Peran = nama rolen Lakukan peran yang ditetapkan sebelum dibuang

1. PostgreSQL Backup Single Database

  • Cadangan satu database di server postgresql. Gunakan opsi baris "-d" untuk memberikan nama basis data ke perintah pg_dump. Pastikan untuk mengganti nama database Anda yang sebenarnya sebagai pengganti mydb.
    pg_dump -h localhost -u postgres -w -d mydb> mydb.SQL  
  • Memulihkan satu database dari cadangan di PostgreSQL. Cukup gunakan perintah "psql" untuk mengembalikan database postgresql.
    psql -h localhost -u postgres -w -d mydb < mydb.sql  

2. PostgreSQL Cadangan Semua Database

  • Cadangan semua database di postgresql menggunakan PG_DUMPALL kegunaan.
    pg_dumpall -h localhost -u postgres -w> alldbs.SQL  
  • Memulihkan: semua cadangan database menggunakan perintah berikut.
    psql -h localhost -u postgres -W < alldbs.sql  

3. Tabel tunggal cadangan postgresql

  • Cadangan: satu tabel bernama mytable dari database mydb.
    pg_dump -h localhost -u postgres -d mydb -w -t table_1> mydb -table_1.SQL  
  • Memulihkan: Cadangan Tabel Tunggal ke Database. Pastikan file cadangan Anda hanya berisi cadangan meja tunggal yang ingin Anda kembalikan.
    psql -h localhost -u postgres -w -d mydb < mydb-table_1.sql  

4. Database cadangan dan kembalikan terkompresi

  • Cadangan Database PostgreSQL dalam format terkompresi. Gunakan utilitas baris perintah GZIP untuk menerima data cadangan pipa dan membuat file arsip.
    pg_dump -h localhost -u postgres -w -d mydb | gzip> mydb.SQL.GZ  
  • Memulihkan Database dari file cadangan terkompresi secara langsung. Di sini Gunzip akan mengekstrak file cadangan dan mengirim data ke perintah psql melalui antarmuka pipa.
    Gunzip -c mydb.SQL.GZ | psql -h localhost -u postgres -w -d mydb  

5. Pisahkan cadangan di beberapa file dan kembalikan

  • Cadangan: Database postgresql dan cadangan terpisah dalam beberapa file dengan ukuran tertentu. Ini membantu kami untuk membuat cadangan database besar dan transfer ke host lain dengan mudah. Sesuai contoh di bawah ini akan membagi file cadangan dari ukuran 100MB.
    pg_dump -h localhost -u postgres -w -d mydb | split -b 100m - mydb.PQL  
  • Memulihkan: Cadangan Basis Data dari beberapa file cadangan yang terpecah.
    kucing mydb.SQL* | psql -h localhost -u postgres -w -d mydb  
  • Cadangan: Database dalam file terpisah terkompresi dengan ukuran tertentu.
    pg_dump -h localhost -u postgres -w -d mydb | gzip | split -b 100m - mydb.SQL.GZ  
  • Memulihkan: Database dari beberapa file file terkompresi.
    kucing mydb.SQL.GZ* | Gunzip | psql -h localhost -u postgres -w -d mydb  

Kesimpulan

Dalam tutorial ini, Anda telah belajar tentang cadangan dan pemulihan database server postgresql, tabel.