Semua objek skema inti PostgreSQL — struktur, tabel, view, indeks, tipe, identitas, rutin, keamanan, dan replikasi — dalam satu referensi padat.
PostgreSQL menyimpan data dalam objek skema bernama. Setiap objek punya satu tugas: tabel menyimpan baris, indeks mempercepat pencarian, rutin menyimpan logika. Pahami apa itu setiap objek sebelum memilih mana yang ditambahkan, dan perlakukan constraint serta policy sebagai aturan yang menjaga data tetap jujur.
Tabel referensi · 45 entri
Objek DatabaseExplained
45 of 45 rows
Struktur
Satu katalog skema yang terisolasi di dalam sebuah cluster.
Memisahkan aplikasi atau lingkungan yang tidak boleh berbagi data.
Namespace bernama di dalam database yang mengelompokkan objek terkait.
Mengatur objek berdasarkan fitur atau pemilik dan menghindari bentrok nama.
Lokasi bernama di disk tempat file tabel dan indeks diletakkan.
Mengarahkan tabel panas ke storage cepat dan menyimpan data dingin di disk murah.
Pengaturan yang menentukan skema mana yang dipakai saat menyelesaikan nama objek tanpa kualifikasi.
Mengarahkan sesi ke skema yang tepat agar query bisa memakai nama pendek.
Deskripsi yang disimpan pada objek database apa pun dengan COMMENT ON.
Mendokumentasikan tabel dan kolom di tempat penulis query berikutnya menemukannya.
Tabel & view
Relasi bernama yang menyimpan baris dalam kolom bertipe.
Wadah utama untuk data persisten.
Tabel yang barisnya hilang di akhir sesi atau transaksi.
Menampung data scratch atau staging yang tidak boleh hidup lebih lama dari koneksi.
Tabel induk yang dipecah menjadi partisi anak berdasarkan kunci yang dideklarasikan.
Menjaga tabel sangat besar tetap terkelola dengan membagi baris ke partisi berdasarkan range atau list.
Tabel yang barisnya tinggal di sistem eksternal, diakses melalui foreign data wrapper.
Meng-query database atau file jauh seolah-olah tabel lokal.
Query tersimpan yang diekspos sebagai tabel virtual.
Menyajikan baris yang sama lewat filter atau join yang berbeda.
View sederhana yang meneruskan INSERT, UPDATE, dan DELETE ke tabel dasarnya.
Mengekspos irisan tabel yang difilter atau di-join dan tetap bisa ditulis.
View yang hasilnya ditulis ke disk dan di-refresh sesuai permintaan.
Meng-cache agregat atau join yang mahal dan membacanya dengan cepat.
Fungsi yang mengembalikan himpunan baris yang bisa dipakai di mana pun tabel cocok.
Memperluas himpunan hasil hitung di tempat, seperti unnest mengubah array menjadi baris.
Indeks
Indeks pohon seimbang untuk pencarian kesetaraan dan rentang.
Mempercepat WHERE, JOIN, dan ORDER BY pada kolom yang bisa diurutkan.
Indeks yang menolak nilai duplikat pada kuncinya.
Menegakkan keunikan pada satu kolom atau kombinasi kolom.
Indeks inverted tree atau generalized search-tree untuk nilai non-skalat.
Mengindeks array, JSONB, full-text, atau data geometri.
Indeks yang dibangun hanya atas baris yang cocok dengan klausa WHERE.
Mengindeks subset panas dan melewati sisanya untuk menghemat ruang.
Tipe & ekstensi
Tipe buatan pengguna yang nilainya berasal dari daftar label tetap.
Membatasi kolom ke himpunan tertutup seperti kode status.
Tipe dasar plus check constraint, diberi nama untuk dipakai ulang sebagai tipe kolom.
Membagikan satu definisi tervalidasi — misalnya teks non-kosong — ke banyak kolom.
Himpunan aturan yang menentukan bagaimana string dibandingkan dan diurutkan.
Mendapatkan urutan yang benar untuk kapital, aksen, atau locale tertentu.
Paket yang dapat dipasang dan menambahkan fungsi, tipe, atau operator ke database.
Mengadopsi tooling terbukti seperti PostGIS atau pg_trgm dalam satu langkah.
Identitas & generated
Objek penghitung mandiri yang menghasilkan bilangan bulat berurutan.
Memasok kunci serial ketika beberapa tabel berbagi satu generator.
Kolom tabel yang didukung sequence internal, sesuai standar SQL.
Primary key auto-increment modern, lebih disukai daripada SERIAL.
Kolom yang nilainya dihitung dari kolom lain pada baris yang sama.
Menyimpan atau mengekspos nilai turunan tanpa penulisan manual.
Rutin
Blok SQL bernama yang mengembalikan sebuah nilai atau baris.
Mengemas logika yang dapat dipakai ulang dan memanggilnya di dalam query.
Blok bernama yang menjalankan aksi dan mengendalikan transaksinya sendiri.
ETL multi-langkah ketika rutin melakukan commit atau rollback secara internal.
Rutin yang melipat banyak baris masukan menjadi satu nilai lewat fungsi state dan final.
Mendefinisikan reduksi kustom seperti rata-rata berbobot.
Simbol yang terikat ke satu atau lebih fungsi untuk tipe operand tertentu.
Memberi tipe buatan sendiri sintaks alami seperti a + b atau @>.
Jalur konversi yang dideklarasikan dari satu tipe ke tipe lain.
Mengendalikan bagaimana nilai berubah tipe, termasuk konversi mana yang terjadi implisit.
Rutin yang terikat ke event tabel dan terpicu secara otomatis.
Mengaudit, memvalidasi, atau mengkaskade perubahan pada INSERT, UPDATE, atau DELETE.
Trigger yang terpicu pada event tingkat database seperti perintah DDL.
Mencatat, memblokir, atau mengaudit perubahan skema di seluruh database.
Query terurai yang disimpan untuk eksekusi berulang dengan parameter terikat.
Memakai ulang satu parse dan plan di banyak eksekusi query yang sama.
Handel yang menjaga hasil query tetap terbuka untuk pengambilan baris demi baris.
Membagi hasil besar menjadi halaman atau menelusuri baris di dalam rutin.
Keamanan & aturan
Identitas bernama yang memegang privilege; user adalah role yang bisa login.
Mengelompokkan izin sekali, lalu memberikannya ke orang, layanan, atau role lain.
Pernyataan yang memberikan privilege atas objek kepada role, atau mencabutnya.
Memutuskan role mana yang bisa membaca, menulis, atau mengeksekusi tiap objek.
Hak bawaan pembuat untuk mengubah atau menghapus objek, terpisah dari grant.
Menetapkan role yang bertanggung jawab atas siklus hidup objek.
Instruksi permanen yang otomatis memberi privilege atas objek yang dibuat role nanti.
Mengatur hak di muka supaya tabel baru tak perlu grant manual untuk role aplikasi.
Aturan yang menolak penulisan yang melanggar kondisi yang dideklarasikan.
Menegakkan jaminan NOT NULL, CHECK, UNIQUE, PRIMARY KEY, dan FOREIGN KEY.
Aturan per-role yang menyembunyikan baris yang tidak boleh dilihat sesi.
Isolasi tenant atau akses per-pengguna tanpa menulis ulang query aplikasi.
Alias yang mengarahkan satu nama ke objek di tempat lain; native di Oracle dan SQL Server.
Memindahkan layout skema saat porting; di PostgreSQL gunakan search_path.
Definisi aksi mana yang dicatat untuk ditinjau, lewat pgaudit atau tooling vendor.
Membuktikan siapa membaca atau mengubah apa, untuk kepatuhan dan investigasi.
Instruksi yang menulis ulang query masukan menjadi perintah lain.
Pengalihan penulisan warisan; PostgreSQL kini lebih memilih trigger atau view yang bisa di-update.
Replikasi
Definisi di sisi pengirim tentang tabel dan jenis perubahan mana yang dialirkan ke replika.
Mendeklarasikan apa yang ditawarkan database ke pelanggan replikasi logis.
Penerima yang terhubung ke publication dan menerapkan perubahannya ke tabel lokal.
Menarik perubahan dari database PostgreSQL lain ke database ini.
Penanda yang membuat primary menahan WAL sampai konsumen membacanya.
Menjamin standby atau pelanggan bisa melanjutkan tanpa kehilangan perubahan.