Dalam artikel ini, kita akan menyelami salah satu sistem bawaan PostgreSQL yang dikenal sebagai information_schema.
Sebelum lanjut membaca, saya ingin memperkenalkan database manager PostgreSQL yang modern dan cepat buatan kami, Beekeeper Studio. Aplikasi ini menampilkan metadata yang sama, mulai dari tabel dan kolom hingga index dan foreign key, di sidebar dan tampilan strukturnya, serta gratis digunakan untuk PostgreSQL. Download di sini.
Apa Itu Information_Schema?
Information_schema adalah katalog sistem berupa sekumpulan view standar yang berisi informasi tentang objek-objek database PostgreSQL. Pada dasarnya, ini adalah meta-database yang menyimpan informasi tentang database Anda saat ini. Information_schema tersedia di semua engine database SQL yang mematuhi standar, sehingga sangat berguna saat migrasi.
Perlu dicatat bahwa information_schema bersifat read-only dan tidak mendukung penambahan informasi baru maupun perubahan data yang sudah ada. Mari mulai menjelajahi berbagai view di dalam information_schema yang bisa sangat membantu untuk berbagai keperluan.
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'information_schema';
Kode ini kompatibel dengan semua versi PostgreSQL.
Saat dijalankan, kode ini akan menampilkan daftar semua view yang tersedia bagi pengguna di dalam information_schema.
Mengapa Menggunakan Information_Schema?
Information_schema sangat penting saat Anda ingin bekerja lebih efektif dengan struktur database, terutama yang berkaitan dengan:
- Tabel
- Kolom
- Indeks
- Trigger
- Constraint
- Skema
Information_Schema.Tables
View information_schema.tables berisi detail tentang semua tabel di database yang terhubung.
SELECT table_name
FROM information_schema.tables
WHERE table_type = 'BASE TABLE'
AND table_schema NOT IN ('pg_catalog', 'information_schema');
Kode ini kompatibel dengan semua versi PostgreSQL. Hasilnya adalah daftar semua base table di database Anda.
Information_Schema.Columns
View information_schema.columns adalah tempat Anda bisa mengambil detail spesifik tentang kolom di database Anda.
SELECT table_name, column_name, data_type
FROM information_schema.columns
WHERE table_schema NOT IN ('pg_catalog', 'information_schema')
AND table_name = 'your_table';
Kode ini kompatibel dengan versi PostgreSQL mana pun. Ganti ‘your_table’ dengan nama tabel Anda untuk mendapatkan daftar semua kolom beserta tipe datanya di tabel tersebut.
Information_Schema.Triggers
Informasi tentang trigger bisa membantu saat debugging atau untuk memahami dependensi. View information_schema.triggers digunakan untuk mengambil detail tentang trigger yang terhubung ke database.
SELECT event_object_table, trigger_name, action_statement, action_timing
FROM information_schema.triggers;
Kode ini, yang kompatibel dengan semua versi PostgreSQL, akan menampilkan nama tabel, nama trigger, aksi trigger, dan waktu eksekusinya.
Information_Schema.Key_Column_Usage
View information_schema.key_column_usage menyediakan informasi yang memudahkan Anda memahami relasi foreign key di database Anda.
SELECT constraint_name, table_name, column_name, ordinal_position
FROM information_schema.key_column_usage
WHERE table_name = 'your_table';
Ganti ‘your_table’ dengan nama tabel Anda lalu jalankan kode yang kompatibel dengan semua versi PostgreSQL ini untuk mendapatkan constraint_name, table_name, column_name, dan ordinal_position dari setiap key di tabel tersebut.
Kesimpulan
Dalam tutorial ini, kita telah mengupas detail tentang information_schema di PostgreSQL. Dengan memanfaatkan view di information_schema, Anda bisa mendapatkan kontrol lebih baik dan wawasan yang lebih tajam tentang struktur serta elemen database Anda. Jika Anda pindah ke PostgreSQL dari database SQL lain, view information_schema akan sangat berguna karena merupakan bagian standar dari SQL.
Petualangan Anda dengan PostgreSQL tidak berhenti di sini. Nantikan panduan berikutnya yang akan menyelami lebih dalam dunia PostgreSQL yang luas, dengan topik lanjutan, tips, dan trik.
Beekeeper Studio Adalah GUI PostgreSQL Gratis & Open Source
Inilah client PostgreSQL yang selama ini saya cari! UI-nya yang membuatnya beda: bersih, intuitif, dan powerful. Selamat tinggal PGAdmin yang kaku. - David Cyprian
Beekeeper Studio adalah client PostgreSQL yang cepat, intuitif, dan mudah digunakan. Aplikasi ini juga mendukung banyak database lain, dan berjalan mulus di Windows, Mac, dan Linux.
Apa Kata Pengguna PostgreSQL tentang Beekeeper Studio
Berbeda dengan pgAdmin, Beekeeper sangat mudah digunakan tanpa kekurangan fitur–dan harganya pas! Fitur backup database-nya sangat berguna. Software yang luar biasa.
Tool yang luar biasa, IDE paling praktis yang pernah saya temukan sejauh ini untuk admin db Postgres dan MySql - langsung jalan, tanpa ribet :-)