PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana Membandingkan Dua Skema di PostgreSQL

Terkadang Anda mungkin perlu membandingkan dua skema di PostgreSQL. Anda dapat menggunakan kueri SQL untuk melakukannya, atau menggunakan salah satu dari banyak alat pihak ketiga yang memungkinkan Anda membandingkan dua skema di PostgreSQL. Pada artikel ini kita akan melihat kedua cara untuk membandingkan dua skema di PostgreSQL.


Cara Membandingkan Dua Skema di PostgreSQL

Kita akan melihat dua cara untuk membandingkan dua skema di PostgreSQL – menggunakan kueri SQL dan menggunakan pgAdmin.


Bandingkan Dua Skema Menggunakan SQL

Inilah kueri SQL untuk membandingkan dua skema. Ganti skema1 dan skema2 dengan nama dua skema yang ingin Anda bandingkan.

select COALESCE(c1.table_name, c2.table_name) as table_name,
       COALESCE(c1.column_name, c2.column_name) as table_column,
       c1.column_name as schema1,
       c2.column_name as schema2
from
    (select table_name,
            column_name
     from information_schema.columns c
     where c.table_schema = 'schema1') c1
full join
         (select table_name,
                 column_name
          from information_schema.columns c
          where c.table_schema = 'schema2') c2
on c1.table_name = c2.table_name and c1.column_name = c2.column_name
where c1.column_name is null
      or c2.column_name is null
order by table_name,
         table_column;

Kueri di atas pada dasarnya mencantumkan semua baris yang ada di salah satu skema dengan informasi tentang ada/tidaknya di skema lain.

  • nama_tabel – nama tabel yang ada di schema1 atau schema2
  • tabel_kolom – nama kolom yang ada di skema1 atau skema2
  • skema1 – jika kolom ada di skema1 namanya ditampilkan, selain itu adalah null.
  • skema2 – jika kolom ada di skema2 namanya ditampilkan, selain itu null.


Bandingkan Dua Skema di pgAdmin

Kami akan menggunakan Perbedaan Skema fitur pgAdmin untuk membandingkan skema atau database atau objek lain.

Alat diff skema memungkinkan Anda untuk melacak perbedaan antara dua objek database, dan membuat daftar pernyataan SQL yang berbeda untuk menyinkronkan database.

Namun, harap dicatat, server sumber dan target harus dari versi server utama yang sama.

Berikut adalah langkah-langkah untuk membandingkan dua skema menggunakan alat Schema Diff.

1. Klik Perbedaan Skema opsi, di bawah Alat menu.

2. Anda akan melihat formulir di mana Anda harus memilih Sumber dan Target

3. Pilih versi server, server sumber dan target, dan database/skema tergantung pada kebutuhan Anda.

4. Klik Bandingkan untuk membandingkan dua database/skema. Anda akan melihat daftar detail hasil perbandingan objek, diikuti dengan hasil perbandingan DDL

5. Hasil perbandingan objek ditampilkan sebagai pohon, yang dapat Anda klik untuk memperluas/menciutkan.

6. Hasil perbandingan DDL disajikan dalam 3 panel. Di panel kiri Anda akan menemukan kueri SQL dari skema sumber. Di panel tengah, Anda memiliki pernyataan SQL untuk skema target. Dan di panel kanan, Anda akan menemukan perbedaan antara pernyataan SQL dari dua skema.

7. Anda akan menemukan banyak opsi untuk menyaring hasil perbandingan seperti Editor Kueri, Pembuat skrip, dan filter.


pgAdmin Schema diff jauh lebih komprehensif daripada perbandingan skema berbasis SQL, dan sangat direkomendasikan. Semoga artikel ini membantu Anda membandingkan dua skema di PostgreSQL.

Ubiq memudahkan untuk memvisualisasikan data, dan memantaunya di dasbor waktu nyata. Coba Ubiq gratis.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Membuat Pengguna dengan pgAdmin

  2. Tambahkan Indikator Ordinal ke Tanggal di PostgreSQL

  3. Hasilkan SQL untuk memperbarui kunci utama

  4. Perbarui Kata Sandi PostgreSQL Anda di Linux

  5. Rails:Izin Postgres ditolak untuk membuat database di rake db:create:all