PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi · Pelajaran

Mengkonfigurasi Penerbitan

Pelajari cara mentakrifkan penerbitan pada pelayan induk untuk menentukan jadual dan operasi yang perlu direplikasi.

Pelajaran 2 daripada 411 langkah

Mengkonfigurasi Penerbitan ialah pelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi merangkumi sejumlah 4 pelajaran.

Apakah Penerbitan?

Selamat datang! Dalam replikasi logikal PostgreSQL, penerbitan adalah seperti saluran pada pelayan induk yang menyiarkan perubahan data.

Ia mentakrifkan data apa (jadual mana) dan operasi mana (INSERT, UPDATE, DELETE, TRUNCATE) yang perlu direplikasi ke pelayan pelanggan.

Anggaplah ia seperti menubuhkan stesen TV: anda menentukan rancangan yang hendak disiarkan dan waktunya.

Persediaan Penerbitan Asas

Mencipta penerbitan adalah mudah menggunakan perintah CREATE PUBLICATION. Mari mulakan dengan bentuk yang paling ringkas.

Ini mencipta penerbitan yang belum menerbitkan sebarang jadual, tetapi sudah bersedia untuk dikonfigurasikan.

CREATE PUBLICATION my_first_pub;

Menerbitkan Semua Jadual

Jika anda mahu mereplikasi semua jadual dalam pangkalan data semasa (serta jadual baharu yang dicipta kemudian), anda boleh menggunakan klausa FOR ALL TABLES.

Ini berguna untuk mereplikasi keseluruhan skema pangkalan data.

CREATE PUBLICATION all_db_changes FOR ALL TABLES;

Menerbitkan Jadual Tertentu

Selalunya, anda hanya perlu mereplikasi sebahagian jadual. Anda boleh menentukan jadual ini secara langsung menggunakan klausa FOR TABLE.

Penerbitan ini hanya akan menyiarkan perubahan daripada jadual users dan products.

CREATE PUBLICATION sales_data_pub FOR TABLE users, products;

Dinamik berbanding Statik

Terdapat perbezaan utama antara FOR ALL TABLES dengan penyenaraian jadual menggunakan FOR TABLE:

  • FOR ALL TABLES: Menyertakan semua jadual semasa dan akan datang dalam pangkalan data secara dinamik.
  • FOR TABLE table1, table2: Menyenaraikan jadual tertentu secara statik. Jadual baharu mesti ditambahkan secara manual.

Pilih berdasarkan keperluan replikasi anda!

Mereplikasi Operasi Tertentu

Penerbitan boleh dikonfigurasikan untuk mereplikasi hanya jenis pengubahsuaian data tertentu. Secara lalai, INSERT, UPDATE, DELETE dan TRUNCATE direplikasi.

Anda boleh menggunakan klausa WITH (publish = '...') untuk memilih operasi tertentu. Dalam contoh ini, kami hanya mereplikasi pernyataan INSERT.

CREATE PUBLICATION new_orders_only FOR TABLE orders WITH (publish = 'insert');

Menggabungkan Operasi

Untuk mereplikasi beberapa jenis operasi, tetapi bukan semuanya, anda boleh menyenaraikannya dan memisahkannya dengan koma dalam pilihan publish.

Penerbitan ini akan mereplikasi operasi INSERT, UPDATE dan DELETE, tetapi bukan TRUNCATE.

CREATE PUBLICATION user_activity FOR TABLE user_logs WITH (publish = 'insert, update, delete');

Menyenaraikan Penerbitan

Mahu melihat penerbitan yang aktif pada pelayan anda? PostgreSQL menyimpan maklumat ini dalam katalog sistemnya.

Anda boleh menyoal paparan pg_publication untuk mendapatkan butiran tentang setiap penerbitan, termasuk operasi yang diterbitkannya.

SELECT pubname, puballtables, pubinsert, pubupdate, pubdelete, pubtruncate FROM pg_publication;

Mengurus Penerbitan

Anda boleh mengubah penerbitan sedia ada untuk menambah atau membuang jadual, atau memadamkannya sepenuhnya jika tidak lagi diperlukan.

  • ALTER PUBLICATION ADD TABLE: Menambah jadual.
  • ALTER PUBLICATION DROP TABLE: Membuang jadual.
  • DROP PUBLICATION: Memadam penerbitan.
ALTER PUBLICATION sales_data_pub ADD TABLE accounts;
ALTER PUBLICATION sales_data_pub DROP TABLE products;
DROP PUBLICATION sales_data_pub;

Kuiz Konfigurasi Penerbitan

Antara pernyataan berikut, yang manakah mengkonfigurasikan penerbitan dengan betul dalam PostgreSQL?

Imbas Kembali: Mengkonfigurasi Penerbitan

Syabas! Anda telah mempelajari cara mentakrifkan penerbitan dalam PostgreSQL.

  • Penerbitan menyiarkan perubahan data untuk replikasi logikal.
  • Gunakan CREATE PUBLICATION untuk mentakrifkannya.
  • Anda boleh menerbitkan FOR ALL TABLES atau FOR TABLE specific_tables.
  • Klausa WITH (publish = '...') membolehkan anda memilih operasi tertentu (insert, update, delete, truncate).
  • Anda boleh menguruskannya dengan ALTER PUBLICATION dan DROP PUBLICATION.

Seterusnya, kita akan mempelajari cara menyediakan langganan untuk menerima perubahan ini!

Percuma untuk bermula

Pelajari PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
11
Pelajaran
44

Soalan Lazim

Adakah pelajaran “Mengkonfigurasi Penerbitan” percuma?

Ya — teks penuh “Mengkonfigurasi Penerbitan” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi, tingkat taraf kepada CoddyKit PRO. Kursus PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Mengkonfigurasi Penerbitan”?

Pelajari cara mentakrifkan penerbitan pada pelayan induk untuk menentukan jadual dan operasi yang perlu direplikasi. Anda berlatih PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi?

Tiada pengalaman terdahulu diperlukan. Pembelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Mengkonfigurasi Penerbitan” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi ini?

Ya. Setiap pelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Asas Replikasi Logik
  2. Mengkonfigurasi Penerbitan
  3. Mengurus Langganan
  4. Penyelesaian Konflik dalam Replikasi Logik
← Kembali ke PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi