Tüm Ürünler
Search
Belge Merkezi

Realtime Compute for Apache Flink:PostgreSQL CDC

Son Güncelleme:Oct 14, 2026

Postgres CDC bağlayıcısı, bir PostgreSQL veritabanının tam anlık görüntüsünü okur ve ardından kesin-bir-kez işleme semantiğiyle değişen verileri yakalar.

Genel Bakış

Postgres CDC bağlayıcısı aşağıdaki yetenekleri destekler:

Kategori

Ayrıntılar

Desteklenen türler

SQL kaynağı, Flink CDC kaynağı

Not

Hedef tablolar ve arama (boyut) tabloları için JDBC bağlayıcısını kullanın.

Çalıştırma modu

Akış

Veri biçimi

Uygulanamaz

Ölçümler

İzleme ölçümleri

  • currentFetchEventTimeLag: Verinin oluşturulduğu andan kaynak operatörü tarafından çekildiği ana kadar geçen süre.

  • currentEmitEventTimeLag: Verinin oluşturulduğu andan kaynak operatöründen çıktığı ana kadar geçen süre.

  • sourceIdleTime: Kaynağın yeni veri üretmediği süre.

Not
  • currentFetchEventTimeLag ve currentEmitEventTimeLag ölçümleri yalnızca artımlı aşamada geçerlidir. Anlık görüntü aşamasında değerleri her zaman 0'dır.

  • Ölçümler hakkında daha fazla bilgi için bkz. Ölçüm açıklaması.

API türleri

SQL ve Flink CDC YAML

Hedef güncelleme/silme

Uygulanamaz

Özellikler

VVR 8.0.6 sürümünden itibaren Postgres CDC bağlayıcısı, artımlı anlık görüntü çerçevesiyle entegre çalışır. Tam geçmiş verileri okur ve ardından kesin-bir-kez semantiğiyle WAL'deki değişiklik günlüklerini otomatik olarak okumaya geçer. Postgres CDC kaynak tabloları, tam verilerin eşzamanlı okunmasını, kilitsiz okumayı ve aktarımın kesinti noktasından devam ettirilmesini destekler.

Temel özellikler:

  • Birleşik akış ve toplu işleme. Tek bir işte hem tam hem de artımlı verileri okur.

  • Eşzamanlı anlık görüntü okuma. Daha hızlı performans için yatay ölçeklendirme sağlar.

  • Kesintisiz tamdan-artımlıya geçiş. Kaynak kullanımını azaltmak için otomatik olarak ölçeği küçültür.

  • Devam ettirilebilir okuma. Kararlılığı artırmak için anlık görüntü aşamasında kesinti noktalarından devam eder.

  • Kilitsiz okuma. Kilit gerektirmez, çevrimiçi işlemleri etkilemez.

Ön Koşullar

Postgres CDC bağlayıcısı, PostgreSQL mantıksal çoğaltma aracılığıyla CDC akışlarını okur. ApsaraDB RDS for PostgreSQL, Amazon RDS for PostgreSQL ve kendi kendine yönetilen PostgreSQL ortamlarını destekler.

Önemli

Yapılandırma dağıtım türüne göre farklılık gösterir. Postgres Yapılandırması.

Yapılandırmadan sonra şunları doğrulayın:

  • Mantıksal kod çözmeyi etkinleştirmek için wal_level parametresi logical olarak ayarlanmıştır.

  • Abone olunan her tablonun REPLICA IDENTITY değeri FULL olarak ayarlanmıştır; böylece INSERT ve UPDATE olayları veri tutarlılığı için önceki sütun değerlerini içerir.

    Not

    REPLICA IDENTITY değeri, INSERT ve UPDATE olaylarının önceki sütun değerlerini içerip içermeyeceğini kontrol eden bir PostgreSQL tablo düzeyi ayarıdır. REPLICA IDENTITY.

  • max_wal_senders ve max_replication_slots değerleri, kullanılan yuva sayısı ile Flink işinin gerektirdiği yuva sayısının toplamından fazladır.

  • Hesabın SUPERUSER ayrıcalıkları veya hem LOGIN hem de REPLICATION izinleri vardır ve abone olunan tablolar üzerinde SELECT izni bulunur.

  • Postgres tablonuz oluşturulmuş sütunlar içeriyorsa, yuvayı oluştururken publish_generated_columns parametresini stored olarak ayarlayın. Aksi takdirde, anlık görüntü ve artımlı aşama şemaları farklılık gösterebilir.

Kullanım notları

Artımlı anlık görüntü özelliği VVR 8.0.6 veya sonraki bir sürümü gerektirir.

Çoğaltma yuvaları

Flink PostgreSQL CDC işleri, WAL verilerinin erken temizlenmesini önlemek ve veri tutarlılığını sağlamak için çoğaltma yuvalarını kullanır. Kötü yönetilen yuvalar aşırı disk kullanımına veya okuma gecikmelerine neden olabilir. En iyi uygulamalar:

  • Kullanılmayan yuvaları hemen temizleyin

    • Flink, WAL veri kaybını önlemek amacıyla bir iş durduğunda veya durumu olmayan bir şekilde yeniden başlatıldığında çoğaltma yuvalarını otomatik olarak silmez.

    • Bir iş yeniden başlatılmayacaksa, disk alanını boşaltmak için ilgili çoğaltma yuvasını manuel olarak silin.

      Önemli

      Yaşam döngüsü yönetimi: Çoğaltma yuvalarını iş düzeyinde kaynaklar olarak ele alın ve bunları işlerin başlatılması ve durdurulmasıyla birlikte yönetin.

  • Eski yuvaları yeniden kullanmaktan kaçının

    • Her zaman yeni bir yuva adı kullanın. Eski bir yuvayı yeniden kullanmak, işin başlangıçta birikmiş geçmiş WAL verilerini okumasına ve yeni veri işlemenin gecikmesine neden olur.

    • PostgreSQL, bağlantı başına bir yuva gerektirir. Her iş benzersiz bir yuva adı kullanmalıdır.

      Önemli

      Adlandırma kuralı: slot.name parametresini özelleştirirken, geçici yuvalarla çakışmayı önlemek için my_slot_1 gibi sayısal son ekler içeren adlardan kaçının.

  • Artımlı anlık görüntüler etkinleştirildiğinde yuva davranışı

    • Ön koşullar: Kontrol noktaları etkinleştirilmeli ve kaynak tablosunda birincil anahtar tanımlanmış olmalıdır.

    • Yuva oluşturma kuralları:

      • Artımlı anlık görüntü devre dışı: Yalnızca paralellik 1 desteklenir. Tek bir genel yuva kullanılır.

      • Artımlı anlık görüntü etkin:

        • Anlık görüntü aşaması: Her eşzamanlı kaynak alt görevi geçici bir yuva oluşturur. Adlandırma biçimi ${slot.name}_${task_id} şeklindedir.

        • Artımlı aşama: Tüm geçici yuvalar otomatik olarak geri kazanılır. Yalnızca tek bir genel yuva korunur.

    • Maksimum yuva sayısı: Kaynak paralelliği + 1 (anlık görüntü aşaması sırasında)

  • Kaynaklar ve performans

    • Kullanılabilir yuva veya disk alanı sınırlıysa, daha az geçici yuva kullanmak için anlık görüntü paralelliğini azaltın. Bu durum anlık görüntü okuma hızını düşürür.

    • Aşağı akış hedefi idempotent yazmaları destekliyorsa, anlık görüntü aşamasında WAL geri doldurmayı atlamak ve başlatmayı hızlandırmak için scan.incremental.snapshot.backfill.skip = true olarak ayarlayın.

      Bu ayar yalnızca en-az-bir-kez semantiği sağlar ve gerekli geçmiş değişikliklerin kaybolabileceği durum bilgisi içeren hesaplamalar (toplamalar veya arama birleştirmeleri) için uygun değildir.

  • Artımlı anlık görüntüler devre dışı bırakıldığında, anlık görüntü aşaması sırasında kontrol noktaları desteklenmez.

    Anlık görüntü aşamasında zaman aşımlarını önlemek için yapılandırma

    Artımlı anlık görüntüler devre dışı bırakıldığında, anlık görüntü aşamasındaki kontrol noktaları zaman aşımı nedeniyle yük devretmelere neden olabilir. Other Configuration bölümünde şu parametreleri yapılandırın (Özel çalışma parametrelerini yapılandırma):

    execution.checkpointing.interval: 10min
    execution.checkpointing.tolerable-failed-checkpoints: 100
    restart-strategy: fixed-delay
    restart-strategy.fixed-delay.attempts: 2147483647

    Parametreler:

    Parametre

    Açıklama

    Açıklamalar

    execution.checkpointing.interval

    Kontrol noktaları arasındaki aralık.

    Birim, 10dk veya 30sn gibi bir süre değeridir.

    execution.checkpointing.tolerable-failed-checkpoints

    İş başarısız olmadan önce tolere edilebilecek kontrol noktası başarısızlığı sayısı.

    Bu parametre ile kontrol noktası planlama aralığının çarpımı, izin verilen anlık görüntü okuma süresidir.

    Not

    Tablo çok büyükse, bu parametreyi daha yüksek bir değere ayarlayın.

    restart-strategy

    İş yeniden başlatma stratejisi.

    Geçerli değerler:

    • fixed-delay: Sabit gecikmeli yeniden başlatma stratejisi.

    • failure-rate: Hata oranı yeniden başlatma stratejisi.

    • exponential-delay: Üstel gecikmeli yeniden başlatma stratejisi.

    Yeniden Başlatma Stratejileri.

    restart-strategy.fixed-delay.attempts

    fixed-delay yeniden başlatma stratejisi için maksimum yeniden başlatma denemesi sayısı.

    –

Postgres aboneliğini yeniden kullanma

Postgres CDC pgoutput kullanırken, hangi tablo değişikliklerinin okunabileceğini bir yayın belirler.

Birden çok iş aynı yayını paylaşıyorsa, yayınların işlerin okuması gereken tüm tabloları kapsadığından emin olun. Aksi takdirde, bazı tabloların artımlı değişiklikleri senkronize edilmeyebilir.

Dikkat edilmesi gerekenler

debezium.publication.autocreate.mode parametresinin varsayılan değeri all_tables şeklindedir. Bu modda:

  • Yayın mevcut değilse, bağlayıcı otomatik olarak FOR ALL TABLES yayını oluşturur.

  • Yayın zaten mevcutsa, bağlayıcı onu olduğu gibi yeniden kullanır ve tablo kapsamını kontrol etmez veya değiştirmez.

Bu seçenek filtered olarak ayarlanırsa, bağlayıcı mevcut işin tablo filtreleme kurallarına göre yayını oluşturur veya günceller. Birden çok iş aynı yayını paylaştığında, daha sonra başlayan bir iş tablo kapsamını üzerine yazarak diğer işlerin okuma işlemlerini etkileyebilir.

Öneriler

  1. Üretim ortamında yayınları manuel olarak oluşturun ve bakımını yapın; otomatik yayın oluşturma ve güncellemelerini devre dışı bırakın.

    -- Create a publication named my_flink_pub that includes all tables (or specified tables, creating one publication per job)
    CREATE PUBLICATION my_flink_pub FOR TABLE table_a, table_b;
    -- Or more simply, include all tables in the database
    CREATE PUBLICATION my_flink_pub FOR ALL TABLES;
    Not

    Bir veritabanındaki tüm tablolara abone olmayın. Çok sayıda tablo içeren çok büyük bir veritabanı için bu işlem ağ bant genişliğini boşa harcar ve Flink tarafındaki CPU tüketimini artırır.

  2. Aşağıdaki Flink yapılandırmalarını ekleyin:

    • debezium.publication.name = 'my_flink_pub' (Yayın adını belirtir)

    • debezium.publication.autocreate.mode = 'disabled' (Flink'in başlatma sırasında yayını oluşturmasını veya değiştirmesini önler)

Bu ayar, birden çok işin birbirinin yayın yapılandırmalarını üzerine yazmasını önler.

SQL

Sözdizimi

CREATE TABLE postgrescdc_source (
  id INT NOT NULL,
  name STRING,
  description STRING,
  weight DECIMAL(10,3)
) WITH (
  'connector' = 'postgres-cdc',
  'hostname' = '<host name>',
  'port' = '<port>',
  'username' = '<user name>',
  'password' = '<password>',
  'database-name' = '<database name>',
  'schema-name' = '<schema name>',
  'table-name' = '<table name>',
  'decoding.plugin.name'= 'pgoutput',
  'scan.incremental.snapshot.enabled' = 'true',
  -- Skipping backfill can speed up reads and reduce resource usage, but it may cause data duplication. Enable this if the downstream sink is idempotent.
  'scan.incremental.snapshot.backfill.skip' = 'false',
  -- In a production environment, set this to 'filtered' or 'disabled' and manage the publication manually instead of through Flink.
  'debezium-publication.autocreate.mode' = 'disabled'
  -- If you have multiple sources, configure a different publication for each source.
  --'debezium.publication.name' = 'my_flink_pub'
);

Bağlayıcı seçenekleri

Seçenek

Açıklama

Veri türü

Gerekli

Varsayılan

Açıklamalar

connector

Bağlayıcı adı.

STRING

Evet

–

Değer postgres-cdc olmalıdır.

hostname

PostgreSQL veritabanının IP adresi veya ana bilgisayar adı.

STRING

Evet

–

–

username

PostgreSQL veritabanı hizmeti kullanıcı adı.

STRING

Evet

–

–

password

PostgreSQL veritabanı hizmeti parolası.

STRING

Evet

–

–

database-name

PostgreSQL veritabanı adı.

STRING

Evet

–

Veritabanının adı.

schema-name

PostgreSQL şema adı. Regex desteklenir.

STRING

Evet

–

Şema adı, birden çok şemadan veri okumak için normal ifadeleri destekler.

table-name

PostgreSQL tablo adı. Regex desteklenir.

STRING

Evet

–

Tablo adı, birden çok tablodan veri okumak için normal ifadeleri destekler.

port

Bağlantı noktası numarası.

INTEGER

Hayır

5432

–

decoding.plugin.name

PostgreSQL mantıksal kod çözme eklentisinin adı.

STRING

Hayır

decoderbufs

Bu, PostgreSQL hizmetine yüklenen eklenti tarafından belirlenir. Desteklenen eklentiler şunlardır:

  • decoderbufs: PostgreSQL 9.6 ve sonraki sürümlerde desteklenir. Bu eklentinin yüklenmesi gerekir.

  • pgoutput (önerilen): PostgreSQL 10 ve sonraki sürümler için resmi yerleşik eklenti.

slot.name

Mantıksal kod çözme yuvası adı.

STRING

VVR 8.0.1 ve sonraki sürümler için gereklidir. Önceki sürümler için isteğe bağlıdır.

flink (8.0.1 öncesi). VVR 8.0.1 ve sonraki sürümler için varsayılan değer yoktur.

slot.name hatasını önlemek için her tablo için benzersiz bir PSQLException: ERROR: replication slot "debezium" is active for PID 974 ayarlayın. Çoğaltma yuvaları.

debezium.*

Debezium özellikleri ve parametreleri

STRING

Hayır

–

Debezium istemcisinin davranışı üzerinde daha ince ayarlı kontrol sağlar. Örneğin, 'debezium.snapshot.mode' = 'never'. Yapılandırma özellikleri.

scan.incremental.snapshot.enabled

Artımlı anlık görüntülerin etkinleştirilip etkinleştirilmeyeceğini belirtir.

BOOLEAN

Hayır

false

Geçerli değerler:

  • false (varsayılan): Artımlı anlık görüntüleri devre dışı bırakır.

  • true: Artımlı anlık görüntüleri etkinleştirir.

Not

scan.startup.mode

Veri tüketimi için başlatma modu.

STRING

Hayır

initial

Geçerli değerler:

  • initial: İlk başlatmada tam geçmiş verileri tarar ve ardından en son WAL verilerini okur.

  • latest-offset: İlk başlatmada tam geçmiş verileri taramaz. WAL'ın sonundan okumaya başlar, yani yalnızca bağlayıcı başladıktan sonra yapılan en son değişiklikleri okur.

  • snapshot: Tam geçmiş verileri tarar, anlık görüntü aşamasında oluşan yeni WAL verilerini okur ve ardından iş durur.

changelog-mode

Akış değişikliklerini kodlamak için kullanılan değişiklik günlüğü modu.

String

Hayır

all

Desteklenen değişiklik günlüğü modları:

  • ALL: INSERT, DELETE, UPDATE_BEFORE ve UPDATE_AFTER dahil olmak üzere tüm türleri destekler.

  • UPSERT: Yalnızca upsert türünü (INSERT, DELETE ve UPDATE_AFTER içerir) destekler.

heartbeat.interval.ms

Kalp atışı paketlerinin gönderilme aralığı.

Duration

Hayır

30s

Birim milisaniyedir.

Postgres CDC bağlayıcısı, yuva ofsetini ilerletmek için veritabanına aktif olarak kalp atışı gönderir. Tablo değişiklikleri seyrek olduğunda, bu değerin ayarlanması WAL günlüklerinin zamanında geri kazanılmasını sağlar.

scan.incremental.snapshot.chunk.key-column

Anlık görüntü aşamasında parçaları bölmek için anahtar sütun olarak kullanılacak bir sütun belirtir.

STRING

Hayır

–

Varsayılan olarak, birincil anahtarın ilk sütunu seçilir.

scan.incremental.close-idle-reader.enabled

Anlık görüntü tamamlandıktan sonra boşta kalan okuyucuların kapatılıp kapatılmayacağını belirtir.

Boolean

Hayır

false

Bu yapılandırmayı etkinleştirmek için execution.checkpointing.checkpoints-after-tasks-finish.enabled parametresini true olarak ayarlayın.

scan.incremental.snapshot.backfill.skip

Anlık görüntü aşamasında günlüklerin okunmasının atlanıp atlanmayacağını belirtir.

Boolean

Hayır

false

Geçerli değerler:

  • true: atlar.

    Artımlı aşamada, günlükler düşük su işaretinden başlayarak okunur.

    Aşağı akış operatörleri veya depolama idempotency'i destekliyorsa, tam aşamada günlüklerin okunmasını atlamanızı öneririz. Bu, WAL yuvası sayısını azaltır ancak yalnızca en-az-bir-kez semantiği garanti edilebilir.

  • false: atmaz.

    Tam aşamada dilimleri okurken, tutarlılığı garanti etmek için düşük su işareti ile yüksek su işareti arasındaki günlükler okunur.

    SQL toplama, birleştirme veya benzer işlemler gerçekleştiriyorsa, tam aşamada günlüklerin okunmasını atlamamanızı öneririz.

Tür eşlemeleri

PostgreSQL'den Flink'e tür eşlemeleri:

PostgreSQL CDC

Flink

SMALLINT

SMALLINT

INT2

SMALLSERIAL

SERIAL2

INTEGER

INT

SERIAL

BIGINT

BIGINT

BIGSERIAL

REAL

FLOAT

FLOAT4

FLOAT8

DOUBLE

DOUBLE PRECISION

NUMERIC(p, s)

DECIMAL(p, s)

DECIMAL(p, s)

BOOLEAN

BOOLEAN

DATE

DATE

TIME [(p)] [WITHOUT TIMEZONE]

TIME [(p)] [WITHOUT TIMEZONE]

TIMESTAMP [(p)] [WITHOUT TIMEZONE]

TIMESTAMP [(p)] [WITHOUT TIMEZONE]

CHAR(n)

STRING

CHARACTER(n)

VARCHAR(n)

CHARACTER VARYING(n)

TEXT

BYTEA

BYTES

Örnek

CREATE TABLE source (
  id INT NOT NULL,
  name STRING,
  description STRING,
  weight DECIMAL(10,3)
) WITH (
  'connector' = 'postgres-cdc',
  'hostname' = '<host name>',
  'port' = '<port>',
  'username' = '<user name>',
  'password' = '<password>',
  'database-name' = '<database name>',
  'schema-name' = '<schema name>',
  'table-name' = '<table name>'
);

SELECT * FROM source;

Flink CDC

VVR V11.4+, PostgreSQL bağlayıcısını Flink CDC kaynağı olarak destekler.

Sözdizimi

source:
  type: postgres
  name: PostgreSQL Source
  hostname: localhost
  port: 5432
  username: pg_username
  password: pg_password
  tables: db.scm.tbl
  slot.name: test_slot
  scan.startup.mode: initial
  server-time-zone: UTC
  connect.timeout: 120s
  decoding.plugin.name: decoderbufs

sink:
  type: ...

Bağlayıcı seçenekleri

Seçenek

Açıklama

Gerekli

Veri türü

Varsayılan

Açıklamalar

type

Bağlayıcı adı.

Evet

STRING

–

postgres olmalıdır.

name

Veri kaynağı adı.

Hayır

STRING

–

–

hostname

PostgreSQL veritabanı sunucusunun alan adı veya IP adresi.

Evet

STRING

–

–

port

PostgreSQL veritabanı bağlantı noktası.

Hayır

INTEGER

5432

–

username

PostgreSQL kullanıcı adı.

Evet

STRING

–

–

password

PostgreSQL parolası.

Evet

STRING

–

–

tables

Yakalanacak tablo adları.

Regex desteklenir.

Evet

STRING

–

Önemli

Şu anda yalnızca aynı veritabanındaki tablolar yakalanabilir.

Nokta (.) tam nitelikli ad için ayırıcı olarak kabul edilir. Herhangi bir karakteri eşleştirmek için normal ifadede nokta (.) kullanmak isterseniz, ters eğik çizgi ile kaçış karakteri olarak belirtin. Örnek: bdb.schema_\..order_\..

slot.name

PostgreSQL çoğaltma yuvası adı.

Evet

STRING

–

Ad, PostgreSQL çoğaltma yuvası adlandırma kurallarına uygun olmalı ve küçük harf, sayı ve alt çizgi içerebilir.

decoding.plugin.name

Sunucuda yüklü olan PostgreSQL mantıksal kod çözme eklentisinin adı.

Hayır

STRING

pgoutput

Geçerli değerler: decoderbufs ve pgoutput.

tables.exclude

Hariç tutulacak tablolar. Bu seçenek tables seçeneğinden sonra etkili olur. Regex desteklenir.

Hayır

STRING

–

Bkz. tables seçeneği.

server-time-zone

Veritabanı sunucusunun oturum saat dilimi, örneğin "Asia/Shanghai".

Hayır

STRING

–

Ayarlanmazsa, sistem varsayılan saat dilimi (ZoneId.systemDefault()) kullanılır.

scan.incremental.snapshot.chunk.size

Artımlı anlık görüntü çerçevesindeki her bir parçanın boyutu (satır sayısı).

Hayır

INTEGER

8096

Artımlı anlık görüntü etkinleştirildiğinde, tablo okuma için birden çok parçaya bölünür. Bir parçanın verisi tamamen tüketilmeden önce bellekte önbelleğe alınır.

Daha küçük bir parça, tablo için daha büyük toplam parça sayısına yol açar. Bu durum hata kurtarma granülerliğini azaltsa da bellek yetersizliği (OOM) hatalarına ve genel aktarım hızının düşmesine neden olabilir. Bu nedenle, dengeli bir yaklaşım benimseyerek makul bir parça boyutu ayarlamanız gerekir.

scan.snapshot.fetch.size

Bir tablonun tam verilerini okurken tek seferde getirilecek maksimum kayıt sayısı.

Hayır

INTEGER

1024

–

scan.startup.mode

Veri tüketimi için başlatma modu.

Hayır

STRING

initial

Geçerli değerler:

  • initial (varsayılan): İlk başlatmada anlık görüntüyü tarar ve ardından en son WAL verilerine geçer.

  • latest-offset: Anlık görüntü okumayı atlar; WAL'ın sonundan okumaya başlar, yani yalnızca bağlayıcı başladıktan sonra yapılan en son değişiklikleri okur.

  • committed-offset: Anlık görüntü okumayı atlar; WAL verilerini belirtilen bir ofsetten tüketir.

  • snapshot: Yalnızca anlık görüntüyü tüketir, artımlı verileri tüketmez.

scan.incremental.close-idle-reader.enabled

Anlık görüntü tamamlandıktan sonra boşta kalan okuyucuların kapatılıp kapatılmayacağını belirtir.

Hayır

BOOLEAN

false

Bu yapılandırmayı etkinleştirmek için execution.checkpointing.checkpoints-after-tasks-finish.enabled parametresini true olarak ayarlayın.

scan.lsn-commit.checkpoints-num-delay

LSN ofsetlerini işlemeye başlamadan önce geciktirilecek kontrol noktası sayısı.

Hayır

INTEGER

3

Durumdan kurtulamama sorununu önlemek için kontrol noktası LSN ofsetleri döngüsel olarak işlenir.

connect.timeout

Bağlayıcının PostgreSQL veritabanı sunucusuna bağlanmak için zaman aşımına uğramadan önce beklediği maksimum süre.

Hayır

DURATION

30s

Bu değer 250 milisaniyeden az olamaz.

connect.max-retries

Bağlayıcının bağlantı kurmak için yapacağı maksimum yeniden deneme sayısı.

Hayır

INTEGER

3

–

connection.pool.size

Bağlantı havuzu boyutu.

Hayır

INTEGER

20

–

jdbc.properties.*

Kullanıcıların özel JDBC URL özellikleri iletmesine olanak tanır.

Hayır

STRING

20

Kullanıcılar 'jdbc.properties.useSSL' = 'false' gibi özel özellikler iletebilir.

heartbeat.interval

En son kullanılabilir WAL günlük ofsetini izlemek için kalp atışı olaylarının gönderilme aralığı.

Hayır

DURATION

30s

–

debezium.*

PostgreSQL sunucusundan veri değişikliklerini yakalamak için kullanılan Debezium Gömülü Motoruna Debezium özelliklerini iletir.

Hayır

STRING

–

Debezium PostgreSQL bağlayıcı özellikleri: Debezium belgeleri.

chunk-meta.group.size

Parça meta verisinin boyutu.

Hayır

STRING

1000

Meta veri bu değerden büyükse, birden çok parça halinde iletilir.

metadata.list

Aşağı akışa aktarılan ve dönüştürme modülünde kullanılabilecek okunabilir meta veri listesi.

Hayır

STRING

false

Ayırıcı olarak virgül (,) kullanın. Aşağıdaki meta veriler kullanılabilir:

  • op_ts

  • table_name

  • database_name

  • schema_name

Not

Meta veri sütunları yalnızca VVR 11.9 ve sonraki sürümlerde kullanılabilir.

scan.incremental.snapshot.unbounded-chunk-first.enabled

Anlık görüntü okuma aşaması sırasında sınırsız parçayı önce gönderir.

Hayır

STRING

false

Geçerli değerler:

  • true: Anlık görüntü okuma aşaması sırasında sınırsız parçayı önce gönderir.

  • false (varsayılan): Anlık görüntü okuma aşaması sırasında sınırsız parçayı önce göndermez.

Önemli

Bu deneysel bir özelliktir. Etkinleştirilmesi, TaskManager'ın anlık görüntü aşamasında son parçayı senkronize etmesi sırasındaki bellek yetersizliği (OOM) hatası riskini azaltır. İş ilk kez başlatılmadan önce bu parametreyi eklemenizi öneririz.

schema-change.enabled

Bağlayıcının şema değişikliklerini otomatik olarak çıkarıp çıkarmayacağını belirtir.

Hayır

BOOLEAN

false

Bu özellik etkinleştirildikten sonra, bağlayıcı pgoutput tarafından alınan iletileri önbelleğe alınmış tablo şemasıyla karşılaştırarak şema değişikliği olaylarını çıkarır.

Not

Çıkarılabilen şema değişiklikleri arasında sütun ekleme, sütun silme, sütun yeniden adlandırma ve sütun veri türlerini değiştirme yer alır.

Bu parametre yalnızca VVR 11.9 ve sonraki sürümlerde kullanılabilir.

Referanslar