Aracılığıyla paylaş


Azure Cosmos DB for PostgreSQL sunucu parametreleri

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Cosmos DB (PostgreSQL'e citus veritabanı uzantısıyla desteklenir)

PostgreSQL için Azure Cosmos DB'nin davranışını etkileyen, hem standart PostgreSQL'den hem de PostgreSQL için Azure Cosmos DB'ye özgü çeşitli sunucu parametreleri vardır. Küme için bu parametreler Azure portalda ayarlanabilir. Ayarlar kategorisinin altında Çalışan düğümü parametrelerini veya Koordinatör düğümü parametrelerini seçin. Bu sayfalar parametreleri tüm çalışan düğümleri için veya yalnızca koordinatör düğümü için ayarlamanıza olanak tanır.

Azure Cosmos DB for PostgreSQL parametreleri

Not

Citus uzantısının eski sürümlerini çalıştıran kümeler aşağıda listelenen tüm parametreleri sunmayabilir.

Genel yapılandırma

citus.use_secondary_nodes (sabit listesi)

SELECT sorguları için düğüm seçerken kullanılacak ilkeyi ayarlar. 'her zaman' olarak ayarlanırsa planlayıcı yalnızca pg_dist_node 'ikincil' noderole olarak işaretlenmiş düğümleri sorgular.

Bu sabit listesi için desteklenen değerler şunlardır:

  • never: (varsayılan) Tüm okuma işlemleri birincil düğümlerde gerçekleşir.
  • always: Okuma işlemleri ikincil düğümlerde çalıştırılır ve insert/update deyimleri devre dışı bırakılır.

citus.cluster_name (metin)

Koordinatör düğüm planlayıcısına hangi kümeyi koordine ettiği hakkında bilgi sağlar. cluster_name ayarlandıktan sonra planlayıcı yalnızca bu kümedeki çalışan düğümlerini sorgular.

citus.enable_version_checks (boole)

PostgreSQL için Azure Cosmos DB sürümünü yükseltmek için sunucunun yeniden başlatılması gerekir (yeni paylaşılan kitaplığı almak için), ardından ALTER EXTENSION UPDATE komutu. Her iki adımın da yürütülememesi hatalara veya kilitlenmelere neden olabilir. PostgreSQL için Azure Cosmos DB bu nedenle kodun sürümünü ve uzantının eşleşmesini doğrular ve doğrulamazlarsa hata oluşur.

Bu değer varsayılan olarak true olarak ayarlanır ve koordinatör üzerinde etkilidir. Nadir durumlarda, karmaşık yükseltme işlemleri bu parametreyi false olarak ayarlamayı ve bu nedenle denetimi devre dışı bırakmayı gerektirebilir.

citus.log_distributed_deadlock_detection (boole)

Dağıtılmış kilitlenme algılamayla ilgili işlemenin sunucu günlüğünde günlüğe kaydedilip kaydedilmeyeceği. Varsayılan olarak false olur.

citus.distributed_deadlock_detection_factor (kayan nokta)

Dağıtılmış kilitlenmeleri denetlemeden önce beklenmesi gereken süreyi ayarlar. Özellikle, bekleme süresi bu değerin PostgreSQL'in deadlock_timeout ayarıyla çarpılmasıdır. Varsayılan değer şudur: 2. değeri -1 dağıtılmış kilitlenme algılamayı devre dışı bırakır.

citus.node_connection_timeout (tamsayı)

GUC, citus.node_connection_timeout bağlantı kurulmasını beklemek için maksimum süreyi (milisaniye olarak) ayarlar. En az bir çalışan bağlantısı kurulmadan önce zaman aşımına ulaşılması durumunda Azure Cosmos DB for PostgreSQL bir hata oluşturur. Bu GUC, koordinatörden çalışanlara ve çalışanlar arasında kurulan bağlantıları etkiler.

  • Varsayılan: beş saniye
  • Minimum: 10 milisaniye
  • Maksimum: bir saat
-- set to 30 seconds
ALTER DATABASE foo
SET citus.node_connection_timeout = 30000;

citus.log_remote_commands (boole)

Koordinatörün çalışan düğümlerine gönderdiği tüm komutları günlüğe kaydetme. Örneğin:

-- reveal the per-shard queries behind the scenes
SET citus.log_remote_commands TO on;

-- run a query on distributed table "github_users"
SELECT count(*) FROM github_users;

Çıktı, koordinatördeki tek count(*) sorgu nedeniyle çalışanlar üzerinde çalışan birkaç sorguyu gösterir.

NOTICE:  issuing SELECT count(*) AS count FROM public.github_events_102040 github_events WHERE true
DETAIL:  on server citus@private-c.demo.postgres.database.azure.com:5432 connectionId: 1
NOTICE:  issuing SELECT count(*) AS count FROM public.github_events_102041 github_events WHERE true
DETAIL:  on server citus@private-c.demo.postgres.database.azure.com:5432 connectionId: 1
NOTICE:  issuing SELECT count(*) AS count FROM public.github_events_102042 github_events WHERE true
DETAIL:  on server citus@private-c.demo.postgres.database.azure.com:5432 connectionId: 1
... etc, one for each of the 32 shards

citus.show_shards_for_app_name_prefixes (metin)

Varsayılan olarak, PostgreSQL için Azure Cosmos DB parçaları PostgreSQL'in SQL istemcilerine verdiği tablo listesinden gizler. Dağıtılmış tablo başına birden çok parça olduğundan ve parçalar SQL istemcisinin dikkatini dağıtabileceğinden bunu yapar.

citus.show_shards_for_app_name_prefixes GUC, parçaların görmek isteyen seçili istemciler için görüntülenmesine izin verir. Varsayılan değeri '' şeklindedir.

-- show shards to psql only (hide in other clients, like pgAdmin)

SET citus.show_shards_for_app_name_prefixes TO 'psql';

-- also accepts a comma separated list

SET citus.show_shards_for_app_name_prefixes TO 'psql,pg_dump';

Parça gizleme, citus.override_table_visibility kullanılarak tamamen devre dışı bırakılabilir.

citus.override_table_visibility (boole)

citus.show_shards_for_app_name_prefixes etkin olup olmadığını belirler. Varsayılan değer :'true'. 'false' olarak ayarlandığında parçalar tüm istemci uygulamalarına görünür.

citus.use_citus_managed_tables (boole)

Yeni yerel tablolara çalışan düğümleri üzerindeki sorgular tarafından erişilmesine izin verin. Etkinleştirildiğinde, yeni oluşturulan tüm tabloları Citus meta verilerine ekler. Varsayılan değer :'false'.

citus.rebalancer_by_disk_size_base_cost (tamsayı)

her parça grubu, by_disk_size yeniden dengeleme stratejisini kullanarak bu maliyeti gerçek disk boyutuna eklenen bayt cinsinden alır. Bu değer, parçalardan bazılarında çok az veri olduğunda hatalı bakiye oluşturmaktan kaçınmak için kullanılır. Bu varsayım, paralellik nedeniyle ve gelecekte boş parça gruplarının büyüyebilecek olması nedeniyle boş parçaların bile bir maliyeti olduğu varsayımıdır.

Varsayılan değer şudur: 100MB.

Sorgu İstatistikleri

citus.stat_statements_purge_interval (tamsayı)

Bakım daemon'unun içinde eşleşmeyen pg_stat_statementskayıtları citus_stat_statements kaldırma sıklığını ayarlar. Bu yapılandırma değeri, temizlemeler arasındaki zaman aralığını varsayılan değeri 10 olacak şekilde saniye cinsinden ayarlar. 0 değeri temizlemeleri devre dışı bırakır.

SET citus.stat_statements_purge_interval TO 5;

Bu parametre koordinatör üzerinde etkilidir ve çalışma zamanında değiştirilebilir.

citus.stat_statements_max (tamsayı)

citus_stat_statements içinde depolanacak satır sayısı üst sınırı. Varsayılan değer 50000'tir ve 1000 - 10000000 aralığındaki herhangi bir değerle değiştirilebilir. Her satır için 140 bayt depolama alanı gerekir, bu nedenle en fazla 10M değerine ayarlanması stat_statements_max 1,4 GB bellek tüketir.

PostgreSQL yeniden başlatılana kadar bu GUC'nin değiştirilmesi geçerli olmaz.

citus.stat_statements_track (numaralandırma)

için istatistiklerin kaydedilmesi için citus_stat_statements ek CPU kaynakları gerekir. Veritabanı yükle karşılaştığında, yönetici olarak ayarlayarak citus.stat_statements_tracknonedeyim izlemeyi devre dışı bırakabilir.

  • all: (varsayılan) Tüm deyimleri izleyin.
  • none: İzlemeyi devre dışı bırakın.

citus.stat_tenants_untracked_sample_rate

içindeki citus_stat_tenantsyeni kiracılar için örnekleme oranı. Oran ile 1.0arasında 0.0 bir aralık olabilir. Varsayılan değer, 1.0 izlenmeyen kiracı sorgularının %100'ünün örneklendiği anlamına gelir. Bunu daha düşük bir değere ayarlamak, zaten izlenen kiracılarda %100 sorgu örneği olduğu, ancak şu anda izlenmeyen kiracıların yalnızca sağlanan hızda örneklendiği anlamına gelir.

Veri Yükleme

citus.multi_shard_commit_protocol (numaralandırma)

Karma dağıtılmış tabloda COPY gerçekleştirirken kullanılacak işleme protokollerini ayarlar. Her parça yerleşiminde COPY, COPY sırasında bir hata oluşması durumunda veri alınmadığından emin olmak için bir işlem bloğunda gerçekleştirilir. Bununla birlikte, COPY'nin tüm yerleştirmelerde başarılı olduğu belirli bir hata durumu vardır, ancak tüm işlemler işlenmeden önce bir (donanım) hatası oluşur. Bu parametre, aşağıdaki işleme protokolleri arasında seçim yaparak bu durumda veri kaybını önlemek için kullanılabilir:

  • 2pc: (varsayılan) Parça yerleştirmelerinde COPY işleminin gerçekleştirildiği işlemler önce PostgreSQL'in iki aşamalı işlemesi kullanılarak hazırlanır ve ardından işlenir. Başarısız işlemeler sırasıyla COMMIT PREPARED veya ROLLBACK PREPARED kullanılarak el ile kurtarılabilir veya durdurulabilir. 2 adet kullanılırken, max_prepared_transactions genellikle max_connections ile aynı değere kadar tüm çalışanlarda artırılmalıdır.
  • 1pc: Parça yerleşimlerinde COPY işleminin gerçekleştirildiği işlemler tek bir turda işlenir. COPY tüm yerleştirmelerde başarılı olduktan sonra bir işleme başarısız olursa veriler kaybolabilir (nadir).

citus.shard_replication_factor (tamsayı)

Parçaların çoğaltma faktörünü, parçaların yerleştirildiği düğüm sayısını ve varsayılan olarak 1'i ayarlar. Bu parametre çalışma zamanında ayarlanabilir ve koordinatör üzerinde etkilidir. Bu parametre için ideal değer, kümenin boyutuna ve düğüm hatası oranına bağlıdır. Örneğin, büyük kümeleri çalıştırırsanız ve düğüm hatalarını daha sık gözlemlerseniz bu çoğaltma faktörünü artırabilirsiniz.

Planner Yapılandırması

citus.local_table_join_policy (numaralandırma)

Bu GUC, PostgreSQL için Azure Cosmos DB'nin yerel ve dağıtılmış tablolar arasında birleştirme yaparken verileri nasıl taşındığını belirler. Birleştirme ilkesini özelleştirmek, çalışan düğümleri arasında gönderilen veri miktarını azaltmaya yardımcı olabilir.

PostgreSQL için Azure Cosmos DB, birleştirmeyi desteklemek için düğümlere yerel veya dağıtılmış tabloları gönderir. Tablo verilerini kopyalamaya "dönüştürme" denir. Yerel bir tablo dönüştürülürse, birleştirmeyi gerçekleştirmek için verilerine ihtiyaç duyan tüm çalışanlara gönderilir. Dağıtılmış bir tablo dönüştürülürse, birleştirmeyi desteklemek için koordinatörde toplanır. PostgreSQL için Azure Cosmos DB planlayıcısı yalnızca gerekli satırları göndererek dönüştürme yapar.

Dönüştürme tercihlerini ifade etmek için kullanılabilecek dört mod vardır:

  • auto: (Varsayılan) PostgreSQL için Azure Cosmos DB, yerel ve dağıtılmış tablo birleştirmelerini desteklemek için tüm yerel veya tüm dağıtılmış tabloları dönüştürür. PostgreSQL için Azure Cosmos DB, buluşsal bir şekilde hangisinin dönüştürüleceğine karar verir. Dağıtılmış tablolar benzersiz bir dizinde (birincil anahtar gibi) sabit bir filtre kullanılarak birleştirilirse dönüştürür. Dönüştürme, çalışanlar arasında daha az veri taşınmasını sağlar.
  • hiçbir zaman: PostgreSQL için Azure Cosmos DB, yerel ve dağıtılmış tablolar arasında birleştirmelere izin vermez.
  • tercih-yerel: PostgreSQL için Azure Cosmos DB, yerel ve dağıtılmış tablo birleştirmelerini desteklemek için yerel tabloları dönüştürmeyi tercih eder.
  • tercih edilen dağıtılmış: PostgreSQL için Azure Cosmos DB, dağıtılmış tabloları yerel ve dağıtılmış tablo birleştirmelerini destekleyecek şekilde dönüştürmeyi tercih eder. Dağıtılmış tablolar çok büyükse, bu seçeneğin kullanılması çalışanlar arasında çok fazla veri taşınmasına neden olabilir.

Örneğin, sütunu xtarafından dağıtılan dağıtılmış bir tablo olduğunu ve bunun yerel bir tablo olduğunu postgres_table varsayalımcitus_table:

CREATE TABLE citus_table(x int primary key, y int);
SELECT create_distributed_table('citus_table', 'x');

CREATE TABLE postgres_table(x int, y int);

-- even though the join is on primary key, there isn't a constant filter
-- hence postgres_table will be sent to worker nodes to support the join
SELECT * FROM citus_table JOIN postgres_table USING (x);

-- there is a constant filter on a primary key, hence the filtered row
-- from the distributed table will be pulled to coordinator to support the join
SELECT * FROM citus_table JOIN postgres_table USING (x) WHERE citus_table.x = 10;

SET citus.local_table_join_policy to 'prefer-distributed';
-- since we prefer distributed tables, citus_table will be pulled to coordinator
-- to support the join. Note that citus_table can be huge.
SELECT * FROM citus_table JOIN postgres_table USING (x);

SET citus.local_table_join_policy to 'prefer-local';
-- even though there is a constant filter on primary key for citus_table
-- postgres_table will be sent to necessary workers because we are using 'prefer-local'.
SELECT * FROM citus_table JOIN postgres_table USING (x) WHERE citus_table.x = 10;

citus.limit_clause_row_fetch_count (tamsayı)

Sınır yan tümcesi iyileştirmesi için görev başına getirilecek satır sayısını ayarlar. Bazı durumlarda, sınır yan tümceleri olan sorguların sonuç oluşturmak için her görevdeki tüm satırları getirmesi gerekebilir. Bu gibi durumlarda ve bir yaklaşık değerin anlamlı sonuçlara neden olacağı durumlarda, bu yapılandırma değeri her parçadan getirileceği satır sayısını ayarlar. Sınır yaklaşık değerleri varsayılan olarak devre dışı bırakılır ve bu parametre -1 olarak ayarlanır. Bu değer çalışma zamanında ayarlanabilir ve koordinatör üzerinde etkilidir.

citus.count_distinct_error_rate (kayan nokta)

PostgreSQL için Azure Cosmos DB, postgresql-hll uzantısını kullanarak yaklaşık sayıyı (ayrı) hesaplayabilir. Bu yapılandırma girdisi, sayıyı (ayrı) hesaplarken istenen hata oranını ayarlar. Varsayılan değer olan 0.0, sayı (ayrı) için yaklaşık değerleri devre dışı bırakır; ve 1.0, sonuçların doğruluğu konusunda hiçbir garanti sağlamaz. En iyi sonuçları elde etmek için bu parametreyi 0,005 olarak ayarlamanızı öneririz. Bu değer çalışma zamanında ayarlanabilir ve koordinatör üzerinde etkilidir.

citus.task_assignment_policy (numaralandırma)

Not

Bu GUC yalnızca shard_replication_factor birden büyük olduğunda veya reference_tables karşı sorgular için geçerlidir.

Çalışanlara görev atarken kullanılacak ilkeyi ayarlar. Koordinatör, parça konumlarına göre çalışanlara görevler atar. Bu yapılandırma değeri, bu atamaları yaparken kullanılacak ilkeyi belirtir. Şu anda kullanılabilecek üç olası görev atama ilkesi vardır.

  • doyumsuz: Doyumsuz ilke varsayılandır ve görevleri çalışanlar arasında eşit bir şekilde dağıtmayı amaçlar.
  • hepsini bir kez deneme: Hepsini bir kez deneme ilkesi, farklı çoğaltmalar arasında değişen bir hepsini bir kez deneme biçiminde çalışanlara görev atar. Bu ilke, bir tablonun parça sayısı çalışan sayısına kıyasla düşük olduğunda daha iyi küme kullanımı sağlar.
  • ilk çoğaltma: İlk çoğaltma ilkesi, parçaların yerleştirmelerinin (çoğaltmaların) ekleme sırasına göre görevler atar. Başka bir deyişle, parçanın parça sorgusu, o parçanın ilk çoğaltmasına sahip çalışana atanır. Bu yöntem, hangi parçaların hangi düğümlerde kullanıldığı konusunda güçlü garantiler (daha güçlü bellek yerleşimi garantileri) sağlar.

Bu parametre çalışma zamanında ayarlanabilir ve koordinatör üzerinde etkilidir.

citus.enable_non_colocated_router_query_pushdown (boole)

Birlikte konumlandırılmamış dağıtılmış tablolara başvuran sorgular için yönlendirici planlayıcısını etkinleştirir.

Yönlendirici planlayıcısı yalnızca birlikte bulunan dağıtılmış tablolara başvuran sorgular için etkinleştirilir, aksi takdirde parçalar aynı düğümde olmayabilir. Bu bayrağın etkinleştirilmesi, bu tür tablolara başvuran sorgular için iyileştirmeye olanak tanır, ancak parçaları yeniden dengeledikten veya bu tabloların parça sayısını değiştirdikten sonra sorgu çalışmayabilir.

Varsayılan değer: off.

Ara Veri Aktarımı

citus.max_intermediate_result_size (tamsayı)

Yürütme ve karmaşık alt sorgular için çalışan düğümlerine gönderilemeyen CTE'ler için ara sonuçların KB cinsinden en büyük boyutu. Varsayılan değer 1 GB'tır ve -1 değeri sınır olmadığı anlamına gelir. Sınırı aşan sorgular iptal edilir ve bir hata iletisi oluşturur.

DDL

citus.enable_schema_based_sharding

parametresi olarak ONayarlandığında, oluşturulan tüm şemalar varsayılan olarak dağıtılır. Dağıtılmış şemalar, bu şemalarda oluşturulan tabloların parça anahtarı olmadan birlikte konumlandırılmış dağıtılmış tablolara dönüştürülmesi gibi tek tek ortak konum gruplarıyla otomatik olarak ilişkilendirilir. Bu ayar tek tek oturumlar için değiştirilebilir.

Bu GUC'yi kullanma örneği için bkz . Mikro hizmet için tasarlama.

Yürütücü Yapılandırması

Genel

citus.all_modifications_commutative

PostgreSQL için Azure Cosmos DB, davranış doğruluğunu garanti etmek için uyumluluk kurallarını zorunlu kılar ve değiştirme işlemleri için uygun kilitleri alır. Örneğin, bir INSERT deyiminin başka bir INSERT deyimiyle geldiğini, ancak UPDATE veya DELETE deyimiyle çalışmadığını varsayar. Benzer şekilde, bir UPDATE veya DELETE deyiminin başka bir UPDATE veya DELETE deyimiyle çalışmadığını varsayar. Bu önlem, UPDAT'lerin ve DELET'lerin daha güçlü kilitler elde etmek için PostgreSQL için Azure Cosmos DB gerektirdiği anlamına gelir.

INSERTs veya diğer UPDAT'lerinizle birlikte gelen UPDATE deyimleriniz varsa, bu parametreyi true olarak ayarlayarak bu uyumluluk varsayımlarını gevşetebilirsiniz. Bu parametre true olarak ayarlandığında, tüm komutlar commutative olarak kabul edilir ve paylaşılan bir kilit talep edilir ve bu da genel aktarım hızını geliştirebilir. Bu parametre çalışma zamanında ayarlanabilir ve koordinatör üzerinde etkilidir.

citus.remote_task_check_interval (tamsayı)

PostgreSQL için Azure Cosmos DB'nin görev izleyici yürütücüsü tarafından yönetilen işlerin durumlarını denetleme sıklığını ayarlar. Varsayılan olarak 10 ms olur. Koordinatör, çalışanlara görevler atar ve ardından her görevin ilerleme durumu hakkında düzenli olarak onlarla denetimler gerçekleştirir. Bu yapılandırma değeri, iki sonuç denetimi arasındaki zaman aralığını ayarlar. Bu parametre koordinatör üzerinde etkilidir ve çalışma zamanında ayarlanabilir.

citus.task_executor_type (numaralandırma)

PostgreSQL için Azure Cosmos DB,dağıtılmış SELECT sorgularını çalıştırmak için üç yürütücü türüne sahiptir. İstenen yürütücü bu yapılandırma parametresi ayarlanarak seçilebilir. Bu parametre için kabul edilen değerler şunlardır:

  • uyarlamalı: Varsayılan değerdir. Birden çok parçaya yayılan toplamalar ve birlikte konumlandırılmış birleşimler içeren sorgulara hızlı yanıtlar için idealdir.
  • görev izleyicisi: Görev izleyici yürütücüsü, çalışan düğümleri arasında verilerin karıştırılıp verimli kaynak yönetimi gerektiren uzun süre çalışan karmaşık sorgular için uygundur.
  • gerçek zamanlı: (kullanım dışı) Uyarlamalı yürütücü ile benzer bir amaca hizmet eder, ancak daha az esnektir ve çalışan düğümlerinde daha fazla bağlantı baskısına neden olabilir.

Bu parametre çalışma zamanında ayarlanabilir ve koordinatör üzerinde etkilidir.

{#multi_task_logging} citus.multi_task_query_log_level (numaralandırma)

Birden fazla görev oluşturan (yani birden fazla parçaya isabet eden) herhangi bir sorgu için günlük düzeyi ayarlar. Günlüğe kaydetme, çok kiracılı bir uygulama geçişi sırasında yararlı olur. Bu tür sorgularda hata yapmayı veya bu tür sorgular için uyarı vermeyi seçerek bunları bulup bunlara bir tenant_id filtresi ekleyebilirsiniz. Bu parametre çalışma zamanında ayarlanabilir ve koordinatör üzerinde etkilidir. Bu parametre için varsayılan değer 'off' değeridir.

Bu sabit listesi için desteklenen değerler şunlardır:

  • kapalı: Birden çok görev oluşturan tüm sorguların günlüğe kaydedilmesini kapatma (başka bir ifadeyle birden çok parçaya yayma)
  • debug: DEBUG önem düzeyinde günlük deyimi.
  • log: LOG önem düzeyinde günlük deyimi. Günlük satırı, çalıştırılan SQL sorgusunu içerir.
  • notice: BİlDİrİm önem derecesinde deyimini günlüğe kaydeder.
  • uyarı: UYARI önem derecesi düzeyinde günlük deyimi.
  • error: Hata önem derecesi düzeyinde günlükler deyimi.

Geliştirme testi sırasında ve gerçek üretim dağıtımında olduğu gibi log daha düşük bir günlük düzeyi kullanmak error yararlı olabilir. Seçme, log çok görevli sorguların veritabanı günlüklerinde gösterilmesine neden olur ve sorgunun kendisi "STATEMENT" sonrasında gösterilir.

LOG:  multi-task query about to be executed
HINT:  Queries are split to multiple tasks if they have to be split into several queries on the workers.
STATEMENT:  select * from foo;
citus.propagate_set_commands (numaralandırma)

Koordinatörden çalışanlara hangi SET komutlarının yayılımının olduğunu belirler. Bu parametrenin varsayılan değeri 'none' değeridir.

Desteklenen değerler şunlardır:

  • none: hiçbir SET komutu yayılmaz.
  • local: yalnızca SET LOCAL komutları yayılır.
citus.create_object_propagation (sabit listesi)

Desteklenen nesneler için işlemlerde CREATE deyimlerinin davranışını denetler.

Nesneler çok deyimli bir işlem bloğunda oluşturulduğunda PostgreSQL için Azure Cosmos DB, oluşturulan nesnelerin parçalar üzerindeki sonraki deyimlere görünür olmasını sağlamak için sıralı moda geçer. Ancak, sıralı moda geçiş her zaman arzu edilmez. Kullanıcı, bu davranışı geçersiz kılarak yeni nesnelerin oluşturulmasında tam işlem tutarlılığı için performansı devre dışı bırakabilir.

Bu parametre için varsayılan değer 'immediate' değeridir.

Desteklenen değerler şunlardır:

  • immediate: CREATE TYPE denenmeden önce create_distributed_table gibi paralel işlemlerin gerçekleştiği işlemlerde hata oluşturur.
  • otomatik: Dağıtılmış tablolarda paralel işlemle bir işlem paylaşırken türlerin oluşturulmasını erteler. Farklı düğümlerde veritabanı nesnelerinin bulunduğu bazı tutarsızlıklar olabilir.
  • ertelendi: 11.0 öncesi davranışa geri dönün; bu, otomatik gibi ancak diğer ince köşe durumlarıyla birlikte. Gerçek geriye dönük uyumluluk gerektirmediğiniz sürece otomatik ayarın ertelenmiş olarak ayarlanmasını öneririz.

Bu GUC'nin bir örneği için bkz . tür yayma.

citus.enable_repartition_joins (boole)

Normalde, uyarlamalı yürütücü ile yeniden bölümleme birleştirmeleri gerçekleştirme girişimi bir hata iletisiyle başarısız olur. Ancak true ayarı citus.enable_repartition_joins PostgreSQL için Azure Cosmos DB'nin birleştirmeyi gerçekleştirmek için geçici olarak görev izleyici yürütücüsuna geçiş yapmasına olanak tanır. Varsayılan değer olarak yanlış kullanılır.

citus.enable_repartitioned_insert_select (boole)

Varsayılan olarak, INSERT INTO ... Gönderilmeyen SELECT deyimi, SELECT deyiminden satırları yeniden bölümlemeye ve ekleme için çalışanlar arasında aktarmaya çalışır. Ancak, hedef tabloda çok fazla parça varsa yeniden bölümleme büyük olasılıkla iyi performans göstermeyecektir. Sonuçların nasıl bölümlenmiş olduğunu belirlerken parça aralıklarını işleme yükü çok büyüktür. Yeniden bölümleme, false olarak ayarlanarak citus.enable_repartitioned_insert_select el ile devre dışı bırakılabilir.

citus.enable_binary_protocol (boole)

Bu parametrenin true olarak ayarlanması, koordinatör düğümüne çalışanlarla veri aktarmak için PostgreSQL'in ikili serileştirme biçimini (uygun olduğunda) kullanmasını ister. Bazı sütun türleri ikili serileştirmeyi desteklemez.

Bu parametrenin etkinleştirilmesi çoğunlukla çalışanların büyük miktarlarda veri döndürmesi gerektiğinde yararlıdır. Örnek olarak çok sayıda satır istendiğinde, satırlarda çok sayıda sütun olduğunda veya postgresql-hll uzantısı gibi geniş türler hll kullanıldığında verilebilir.

Varsayılan değer şudur: true. olarak falseayarlandığında, tüm sonuçlar metin biçiminde kodlanır ve aktarılır.

citus.max_adaptive_executor_pool_size (tamsayı)

Max_adaptive_executor_pool_size geçerli oturumdaki çalışan bağlantılarını sınırlar. Bu GUC şunlar için kullanışlıdır:

  • Tek bir arka ucun tüm çalışan kaynaklarını almasını engelleme
  • Öncelik yönetimi sağlama: Düşük max_adaptive_executor_pool_size ile düşük öncelikli oturumları ve daha yüksek değerlerle yüksek öncelikli oturumları belirleme

Varsayılan değer 16'dır.

citus.executor_slow_start_interval (tamsayı)

Aynı çalışan düğümüne bağlantıları açmak arasında milisaniye cinsinden bekleme süresi.

Çok parçalı bir sorgunun tek tek görevleri çok az zaman alıyorsa, bunlar genellikle tek bir (genellikle zaten önbelleğe alınmış) bağlantı üzerinden tamamlanabilir. Daha fazla bağlantının yedekli olarak açılmasını önlemek için yürütücü, yapılandırılan milisaniye sayısı için bağlantı girişimleri arasında bekler. Aralığın sonunda, bir sonraki sefer açılmasına izin verilen bağlantı sayısını artırır.

Uzun sorgular (500 ms süren >sorgular) için yavaş başlangıç gecikmeye neden olabilir, ancak kısa sorgular için daha hızlıdır. Varsayılan değer 10 ms'dir.

citus.max_cached_conns_per_worker (tamsayı)

Her arka uç, parçaları sorgulamak için çalışanlara bağlantılar açar. İşlemin sonunda, sonraki komutları hızlandırmak için yapılandırılan bağlantı sayısı açık tutulur. Bu değerin artırılması, çok parçalı sorguların gecikme süresini azaltır, ancak çalışanlara yönelik ek yükü de artırır.

Varsayılan değer 1 şeklindedir. 2 gibi daha büyük bir değer, az sayıda eşzamanlı oturum kullanan kümeler için yararlı olabilir, ancak daha ileri gitmek akıllıca değildir (örneğin, 16 çok yüksek olabilir).

citus.force_max_query_parallelization (boole)

Kullanım dışı bırakılan ve artık var olmayan gerçek zamanlı yürütücü benzetimini yapın. Bu parametre, sorgu paralelleştirmesini en üst düzeye çıkarmak için mümkün olduğunca çok bağlantı açmak için kullanılır.

Bu GUC etkinleştirildiğinde PostgreSQL için Azure Cosmos DB, uyarlamalı yürütücüye paralel dağıtılmış sorgu yürütürken mümkün olduğunca çok bağlantı kullanmaya zorlar. Etkinleştirilmemişse yürütücü, genel sorgu yürütme aktarım hızını iyileştirmek için daha az bağlantı kullanmayı seçebilir. Dahili olarak, bunu görev başına bir bağlantı kullanarak sona erecek true şekilde ayarlayın.

Bu parametrenin yararlı olduğu bir yer, ilk sorgusu basit olan ve birkaç bağlantı gerektiren bir işlemdir; sonraki bir sorgu ise daha fazla bağlantıdan yararlanabilir. PostgreSQL için Azure Cosmos DB, ilk deyime göre bir işlemde kaç bağlantı kullanılacağına karar verir ve bu da bir ipucu sağlamak için GUC kullanmadığımız sürece diğer sorguları kısıtlayabilir.

BEGIN;
-- add this hint
SET citus.force_max_query_parallelization TO ON;

-- a lightweight query that doesn't require many connections
SELECT count(*) FROM table WHERE filter = x;

-- a query that benefits from more connections, and can obtain
-- them since we forced max parallelization above
SELECT ... very .. complex .. SQL;
COMMIT;

Varsayılan değer olarak yanlış kullanılır.

Görev izleyicisi yürütücü yapılandırması

citus.task_tracker_delay (tamsayı)

Bu parametre, görev yönetimi yuvarlamaları arasındaki görev izleyicisi uyku süresini 200 ms olarak ayarlar. Görev izleyicisi işlemi düzenli olarak uyanır, kendisine atanan tüm görevleri gösterir ve bu görevleri zamanlar ve yürütür. Ardından, görev izleyicisi bu görevlerin üzerinde yeniden yürümeden önce bir süre boyunca uyku moduna alır. Bu yapılandırma değeri, bu uyku süresinin uzunluğunu belirler. Bu parametre çalışanlar üzerinde etkilidir ve postgresql.conf dosyasında değiştirilmesi gerekir. Yapılandırma dosyasını düzenledikten sonra kullanıcılar SIGHUP sinyali gönderebilir veya değişikliğin etkili olması için sunucuyu yeniden başlatabilir.

Bu parametre, yönetim yuvarlamaları arasındaki zaman aralığını azaltarak görev izleyici yürütücüsü nedeniyle oluşan gecikmeyi azaltmak için azaltılabilir. Parça sorgularının kısa olduğu ve bu nedenle durumlarını düzenli olarak güncelleştirdikleri durumlarda gecikmeyi azaltmak yararlı olur.

citus.max_assign_task_batch_size (tamsayı)

Koordinatördeki görev izleyici yürütücüsü, görevleri toplu olarak çalışanlardaki daemon'a zaman uyumlu bir şekilde atar. Bu parametre, tek bir toplu işte atanacak en fazla görev sayısını ayarlar. Daha büyük bir toplu iş boyutu seçmek, daha hızlı görev atamasına olanak tanır. Ancak, çalışan sayısı büyükse, tüm çalışanların görev alması daha uzun sürebilir. Bu parametre çalışma zamanında ayarlanabilir ve koordinatör üzerinde etkilidir.

citus.max_running_tasks_per_node (tamsayı)

Görev izleyicisi işlemi, kendisine atanan görevleri uygun şekilde zamanlar ve yürütür. Bu yapılandırma değeri, herhangi bir zamanda bir düğümde eşzamanlı olarak yürütülecek en fazla görev sayısını ayarlar ve varsayılan olarak 8'e ayarlar.

Sınır, aynı anda diske isabet eden çok fazla görev olmamasını sağlar ve disk G/Ç çekişmesini önlemeye yardımcı olur. Sorgularınız bellekten veya SSD'lerden sunulursa, max_running_tasks_per_node fazla endişe duymadan artırabilirsiniz.

citus.partition_buffer_size (tamsayı)

Bölüm işlemleri için kullanılacak arabellek boyutunu ayarlar ve varsayılan olarak 8 MB'tır. PostgreSQL için Azure Cosmos DB, iki büyük tablo birleştirildiğinde tablo verilerinin birden çok dosyaya yeniden bölümlenmesini sağlar. Bu bölüm arabelleği dolduktan sonra, yeniden bölümlenen veriler disk üzerindeki dosyalara boşaltılır. Bu yapılandırma girdisi çalışma zamanında ayarlanabilir ve çalışanlar üzerinde etkilidir.

Çıkışı açıklama

citus.explain_all_tasks (boole)

PostgreSQL için Azure Cosmos DB, dağıtılmış bir sorguda EXPLAIN'ı çalıştırırken varsayılan olarak tek, rastgele bir görevin çıkışını gösterir. Çoğu durumda, açıklama çıkışı görevler arasında benzerdir. Bazen bazı görevler farklı planlanıyor veya yürütme süreleri çok daha uzun oluyor. Bu gibi durumlarda, bu parametreyi etkinleştirmek yararlı olabilir; bundan sonra EXPLAIN çıkışı tüm görevleri içerir. Tüm görevlerin açıklanması, EXPLAIN işleminin daha uzun sürmesine neden olabilir.

citus.explain_analyze_sort_method (numaralandırma)

EXPLAIN ANALYZE çıkışındaki görevlerin sıralama yöntemini belirler. citus.explain_analyze_sort_method için varsayılan değer execution-time değeridir.

Desteklenen değerler şunlardır:

  • yürütme zamanı: Yürütme zamanına göre sıralayın.
  • taskId: görev kimliğine göre sırala.

Yönetilen PgBouncer parametreleri

Aşağıdaki yönetilen PgBouncer parametreleri tek düğümde veya koordinatörde yapılandırılabilir.

Parametre Adı Açıklama Varsayılan
pgbouncer.default_pool_size Bu parametre değerini kullanıcı/veritabanı çifti başına bağlantı sayısına ayarlayın. 295
pgbouncer.ignore_startup_parameters PgBouncer'ın yoksayabileceği parametrelerin virgülle ayrılmış listesi. Örneğin, PgBouncer parametresini yoksayabilir extra_float_digits . Bazı parametrelere izin verilir, diğerleri hata oluşturur. Bu özellik, başlatma paketinde koşulsuz olarak 'extra_float_digits=2' ayarlamak isteyen aşırı bellekli JDBC'yi tolere etmek için gereklidir. Kullandığınız kitaplık gibi pq: unsupported startup parameter: extra_float_digitshataları bildiriyorsa bu seçeneği kullanın. extra_float_digits, ssl_renegotiation_limit
pgBouncer.max_client_conn Bu parametre değerini, desteklemek istediğiniz en fazla PgBouncer istemci bağlantısı sayısına ayarlayın. Kategori 2000
pgBouncer.min_pool_size Bu numaranın altındaysa havuza daha fazla sunucu bağlantısı ekleyin. 0 (Devre Dışı)
pgBouncer.pool_mode Bu parametre değerini işlem havuzu için TRANSACTION olarak ayarlayın (çoğu iş yükü için önerilen ayardır). İŞLEM
pgbouncer.query_wait_timeout Sorguların yürütmeyi beklerken harcadığı en uzun süre (saniye cinsinden). Sorgu bu süre boyunca bir sunucuya atanmazsa istemcinin bağlantısı kesilir. 20 sn
pgbouncer.server_idle_timeout Bir sunucu bağlantısı bu kadar saniyeden uzun süre boşta kalırsa kapatılır. 0 ise bu zaman aşımı devre dışı bırakılır. 60 sn

PostgreSQL parametreleri

  • DateStyle - Tarih ve saat değerlerinin görüntüleme biçimini ayarlar
  • IntervalStyle - Aralık değerleri için görüntüleme biçimini ayarlar
  • TimeZone - Zaman damgalarını görüntülemek ve yorumlamak için saat dilimini ayarlar
  • application_name - İstatistiklerde ve günlüklerde raporlanacak uygulama adını ayarlar
  • array_nulls - Dizilerde NULL öğelerinin girişini etkinleştirir
  • autovacuum - Autovacuum alt işlemini başlatır
  • autovacuum_analyze_scale_factor - Yeniden oluşturmaların bir bölümü olarak analizden önce tanımlama grubu ekleme, güncelleştirme veya silme sayısı
  • autovacuum_analyze_threshold - Analizden önce en az demet ekleme, güncelleştirme veya silme sayısı
  • autovacuum_naptime - Otomatik vakum çalıştırmaları arasında uyku süresi
  • autovacuum_vacuum_cost_delay - Otomatik vakum için milisaniye cinsinden vakum maliyeti gecikmesi
  • autovacuum_vacuum_cost_limit - Otomatik vakum için, vakumlamadan önce mevcut olan vakum maliyeti miktarı
  • autovacuum_vacuum_scale_factor - Biçimlendirmelerin bir bölümü olarak vakumdan önceki tanımlama grubu güncelleştirme veya silme sayısı
  • autovacuum_vacuum_threshold - Vakumdan önce en az tanımlama grubu güncelleştirme veya silme sayısı
  • autovacuum_work_mem - Her otomatik vakum çalışan işlemi tarafından kullanılacak en yüksek belleği ayarlar
  • backend_flush_after - Daha önce gerçekleştirilen yazmaların diske boşaltıldığı sayfa sayısı
  • backslash_quote - Dize değişmez değerlerinde "'" izin verilip verilmeyeceğini ayarlar
  • bgwriter_delay - Yuvarlamalar arasında arka plan yazarı uyku süresi
  • bgwriter_flush_after - Daha önce gerçekleştirilen yazmaların diske boşaltıldığı sayfa sayısı
  • bgwriter_lru_maxpages - Arka plan yazıcısı yuvarlama başına en fazla LRU sayfası sayısı
  • bgwriter_lru_multiplier - Yuvarlama başına serbest olarak ortalama arabellek kullanımının katı
  • bytea_output - Bayt için çıkış biçimini ayarlar
  • check_function_bodies - CREATE FUNCTION sırasında işlev gövdelerini denetler
  • checkpoint_completion_target - Denetim noktası sırasında kirli arabellekleri boşaltmak için harcanan süre, denetim noktası aralığının bir bölümü olarak
  • checkpoint_timeout - Otomatik WAL denetim noktaları arasındaki maksimum süreyi ayarlar
  • checkpoint_warning - Denetim noktası kesimleri bundan daha sık doldurulmuşsa uyarıları etkinleştirir
  • client_encoding - İstemcinin karakter kümesi kodlamasını ayarlar
  • client_min_messages - İstemciye gönderilen ileti düzeylerini ayarlar
  • commit_delay - İşlem işleme ve WAL'yi diske boşaltma arasındaki mikrosaniye cinsinden gecikmeyi ayarlar
  • commit_siblings - commit_delay gerçekleştirmeden önce en düşük eşzamanlı açık işlemleri ayarlar
  • constraint_exclusion - Planlayıcının sorguları iyileştirmek için kısıtlamaları kullanmasını sağlar
  • cpu_index_tuple_cost - Planlayıcının dizin taraması sırasında her dizin girişini işleme maliyetine ilişkin tahminini ayarlar
  • cpu_operator_cost - Planlayıcının her işleci veya işlev çağrısını işleme maliyetine ilişkin tahminini ayarlar
  • cpu_tuple_cost - Planlayıcının her tanımlama kümesini (satır) işleme maliyetine ilişkin tahminini ayarlar
  • cursor_tuple_fraction - Planlayıcının alınan imleç satırlarının kesirini tahminini ayarlar
  • deadlock_timeout - Kilitlenmeyi denetlemeden önce bir kilitte beklenmesi için milisaniye cinsinden süreyi ayarlar
  • debug_pretty_print - Girintiler ayrıştırma ve plan ağacı görüntülemeleri
  • debug_print_parse - Her sorguyu ayrıştırma ağacını günlüğe kaydeder
  • debug_print_plan - Her sorguyu yürütme planını günlüğe kaydeder
  • debug_print_rewritten - Her sorguyu yeniden yazılan ayrıştırma ağacını günlüğe kaydeder
  • default_statistics_target - Varsayılan istatistik hedefini ayarlar
  • default_tablespace - içinde tablo ve dizin oluşturmak için varsayılan tablo alanını ayarlar
  • default_text_search_config - Varsayılan metin arama yapılandırmasını ayarlar
  • default_transaction_deferrable - Yeni işlemlerin varsayılan ertelenebilir durumunu ayarlar
  • default_transaction_isolation - Her yeni işlemin işlem yalıtım düzeyini ayarlar
  • default_transaction_read_only - Yeni işlemlerin varsayılan salt okunur durumunu ayarlar
  • default_with_oids - Varsayılan olarak OID'lerle yeni tablolar oluşturur
  • effective_cache_size - Planlayıcının disk önbelleğinin boyutu hakkındaki varsayımını ayarlar
  • enable_bitmapscan - Planlayıcının bit eşlem tarama planlarını kullanmasını sağlar
  • enable_gathermerge - Planlayıcının birleştirme planlarını toplama özelliğini kullanmasını sağlar
  • enable_hashagg - Planlayıcının karma toplama planlarını kullanmasını sağlar
  • enable_hashjoin - Planlayıcının karma birleştirme planlarını kullanmasını sağlar
  • enable_indexonlyscan - Planlayıcının yalnızca dizin tarama planlarını kullanmasını sağlar
  • enable_indexscan - Planlayıcının dizin tarama planlarını kullanmasını sağlar
  • enable_material - Planlayıcının gerçekleştirme kullanımını etkinleştirir
  • enable_mergejoin - Planlayıcının birleştirme birleştirme planlarını kullanmasını sağlar
  • enable_nestloop - Planlayıcının iç içe döngü birleştirme planlarını kullanmasını sağlar
  • enable_seqscan - Planlayıcının sıralı tarama planlarını kullanmasını sağlar
  • enable_sort - Planlayıcının açık sıralama adımlarını kullanmasını sağlar
  • enable_tidscan - Planlayıcının TID tarama planlarını kullanmasını sağlar
  • escape_string_warning - Normal dize değişmez değerlerinde ters eğik çizgi kaçışları hakkında uyarır
  • exit_on_error - Herhangi bir hatada oturumu sonlandırır
  • extra_float_digits - Kayan nokta değerleri için görüntülenen basamak sayısını ayarlar
  • force_parallel_mode - Paralel sorgu olanaklarının kullanımını zorlar
  • from_collapse_limit - ALT sorguların daraltılmadığı KAYNAK listesi boyutunu ayarlar
  • geqo - Genetik sorgu iyileştirmesini etkinleştirir
  • geqo_effort - GEQO: diğer GEQO parametreleri için varsayılanı ayarlamak için çaba kullanılır
  • geqo_generations - GEQO: Algoritma yinelemelerinin sayısı
  • geqo_pool_size - GEQO: popülasyondaki bireylerin sayısı
  • geqo_seed - GEQO: rastgele yol seçimi için tohum
  • geqo_selection_bias - GEQO: popülasyon içindeki seçmeli basınç
  • geqo_threshold - GEQO'nun kullanıldığı FROM öğelerinin eşiğini ayarlar
  • gin_fuzzy_search_limit - GIN'e göre tam arama için izin verilen en yüksek sonucu ayarlar
  • gin_pending_list_limit - GIN dizini için bekleyen listenin en büyük boyutunu ayarlar
  • idle_in_transaction_session_timeout - Herhangi bir hareket için izin verilen en uzun süreyi ayarlar
  • join_collapse_limit - JOIN yapılarının düzleştirmediği KAYNAK listesi boyutunu ayarlar
  • lc_monetary - Parasal tutarları biçimlendirmek için yerel ayarı ayarlar
  • lc_numeric - Sayıları biçimlendirmek için yerel ayarı ayarlar
  • lo_compat_privileges - Büyük nesnelerde ayrıcalık denetimleri için geriye dönük uyumluluk modunu etkinleştirir
  • lock_timeout - Bir kilit için herhangi bir bekleme süresi için izin verilen en uzun süreyi (milisaniye olarak) ayarlar. 0 bunu kapatır
  • log_autovacuum_min_duration - Otomatik vakum eylemlerinin günlüğe kaydedildiği en düşük yürütme süresini ayarlar
  • log_connections - Her başarılı bağlantıyı günlüğe kaydeder
  • log_destination - Sunucu günlüğü çıkışının hedefini ayarlar
  • log_disconnections - Süre de dahil olmak üzere oturumun sonunu günlüğe kaydeder
  • log_duration - Tamamlanan her SQL deyiminin süresini günlüğe kaydeder
  • log_error_verbosity - Günlüğe kaydedilen iletilerin ayrıntı düzeyini ayarlar
  • log_lock_waits - Uzun kilit beklemelerini günlüğe kaydeder
  • log_min_duration_statement - Deyimlerin günlüğe kaydedildiği en düşük yürütme süresini (milisaniye cinsinden) ayarlar. -1 günlük deyimi sürelerini devre dışı bırakır
  • log_min_error_statement - Bu düzeyde veya daha üstünde hata oluşturan tüm deyimlerin günlüğe kaydedilmesine neden olur
  • log_min_messages - Günlüğe kaydedilen ileti düzeylerini ayarlar
  • log_replication_commands - Her çoğaltma komutunu günlüğe kaydeder
  • log_statement - Günlüğe kaydedilen deyimlerin türünü ayarlar
  • log_statement_stats - Her sorgu için sunucu günlüğüne toplu performans istatistikleri yazar
  • log_temp_files - Bu sayıda kilobayttan daha büyük geçici dosyaların kullanımını günlüğe kaydeder
  • maintenance_work_mem - Bakım işlemleri için kullanılacak en yüksek belleği ayarlar
  • max_parallel_workers - Bir kerede etkin olabilecek en fazla paralel çalışan sayısını ayarlar
  • max_parallel_workers_per_gather - Yürütücü düğümü başına en fazla paralel işlem sayısını ayarlar
  • max_pred_locks_per_page - Sayfa başına koşulla kilitlenmiş en fazla demet sayısını ayarlar
  • max_pred_locks_per_relation - İlişki başına koşulla kilitlenmiş sayfa ve tanımlama grubu sayısı üst sınırını ayarlar
  • max_standby_archive_delay - Etkin bekleyen bir sunucu arşivlenmiş WAL verilerini işlerken sorguları iptal etmeden önce en uzun gecikmeyi ayarlar
  • max_standby_streaming_delay - Etkin bekleyen bir sunucu akışlı WAL verilerini işlerken sorguları iptal etmeden önce en uzun gecikmeyi ayarlar
  • max_sync_workers_per_subscription - Abonelik başına en fazla tablo eşitleme çalışanı sayısı
  • max_wal_size - Denetim noktasını tetikleyen WAL boyutunu ayarlar
  • min_parallel_index_scan_size - Paralel tarama için en düşük dizin verisi miktarını ayarlar
  • min_wal_size - WAL'yi küçültmek için en düşük boyutu ayarlar
  • operator_precedence_warning - PostgreSQL 9.4'ten bu yana anlamı değişen yapılar için bir uyarı yayar
  • parallel_setup_cost - Planlayıcının paralel sorgu için çalışan işlemlerini başlatma maliyetine ilişkin tahminini ayarlar
  • parallel_tuple_cost - Planlayıcının her bir tanımlama kümesini (satırı) çalışandan ana arka uca geçirme maliyetine ilişkin tahminini ayarlar
  • pg_stat_statements.save - Sunucu kapatma işlemleri arasında pg_stat_statements istatistikleri kaydeder
  • pg_stat_statements.track - hangi deyimlerin pg_stat_statements tarafından izlendiğini seçer
  • pg_stat_statements.track_utility - Yardımcı program komutlarının pg_stat_statements tarafından izlenip izlenmeyeceğini seçer
  • quote_all_identifiers - SQL parçaları oluştururken tüm tanımlayıcıları tırnak içine alın
  • random_page_cost - Planlayıcının sıralı olmayan bir disk sayfasının maliyetiyle ilgili tahminini ayarlar
  • row_security - Satır güvenliğini etkinleştirir
  • search_path - Şemaya uygun olmayan adlar için şema arama sırasını ayarlar
  • seq_page_cost - Planlayıcının sıralı olarak getirilen disk sayfasının maliyetiyle ilgili tahminini ayarlar
  • session_replication_role - Tetikleyiciler ve yeniden yazma kuralları için oturumun davranışını ayarlar
  • standard_conforming_strings - '...' nedenleri ters eğik çizgileri tam anlamıyla işlemek için dizeler
  • statement_timeout - Herhangi bir deyimin izin verilen en uzun süresini (milisaniye olarak) ayarlar. 0 bunu kapatır
  • synchronize_seqscans - Eşitlenmiş sıralı taramaları etkinleştirir
  • synchronous_commit - Geçerli işlemin eşitleme düzeyini ayarlar
  • tcp_keepalives_count - En fazla TCP tutma yeniden aktarım sayısı
  • tcp_keepalives_idle - TCP korumaları verme arasındaki süre
  • tcp_keepalives_interval - TCP tutma yeniden aktarımları arasındaki süre
  • temp_buffers - Her veritabanı oturumu tarafından kullanılan en fazla geçici arabellek sayısını ayarlar
  • temp_tablespaces - Geçici tablolar ve sıralama dosyaları için kullanılacak tablespace'leri ayarlar
  • track_activities - Komutları yürütme hakkında bilgi toplar
  • track_counts - Veritabanı etkinliğiyle ilgili istatistikleri toplar
  • track_functions - Veritabanı etkinliğiyle ilgili işlev düzeyi istatistikleri toplar
  • track_io_timing - Veritabanı G/Ç etkinliği için zamanlama istatistiklerini toplar
  • transform_null_equals - "expr=NULL" değerini "expr IS NULL" olarak kabul eder
  • vacuum_cost_delay - Milisaniye cinsinden vakum maliyeti gecikmesi
  • vacuum_cost_limit - Dokunmadan önce kullanılabilir vakum maliyeti miktarı
  • vacuum_cost_page_dirty - Vakumla kirlenmiş bir sayfa için vakum maliyeti
  • vacuum_cost_page_hit - Arabellek önbelleğinde bulunan bir sayfanın vakum maliyeti
  • vacuum_cost_page_miss - Arabellek önbelleğinde bulunmayan bir sayfanın vakum maliyeti
  • vacuum_defer_cleanup_age - VAKUM ve HOT temizlemenin ertelenmesi gereken işlem sayısı (varsa)
  • vacuum_freeze_min_age - VACUUM'un tablo satırını dondurması gereken en düşük yaş
  • vacuum_freeze_table_age - VAKUM'un tanımlama demetlerini dondurmak için tablonun tamamını taraması gereken yaş
  • vacuum_multixact_freeze_min_age - VACUUM'un tablo satırında MultiXactId'leri dondurması gereken en düşük yaş
  • vacuum_multixact_freeze_table_age - VAKUM'un tanımlama listelerini dondurmak için tablonun tamamını taraması gereken çok faktörlü yaş
  • wal_receiver_status_interval - WAL alıcısı durum raporları arasındaki maksimum aralığı birincil değere ayarlar
  • wal_writer_delay - WAL yazıcıda gerçekleştirilen WAL temizleme işlemleri arasındaki süre
  • wal_writer_flush_after - Wal yazıcı tarafından yazılan ve temizlemeyi tetikleyen WAL miktarı
  • work_mem - Geçici disk dosyalarına yazmadan önce iç sıralama işlemleri ve karma tabloları tarafından kullanılacak bellek miktarını ayarlar
  • xmlbinary - İkili değerlerin XML'de nasıl kodlanabileceklerini ayarlar
  • xmloption - Örtük ayrıştırma ve serileştirme işlemlerinde XML verilerinin belge veya içerik parçası olarak kabul edilip edilmeyeceğini ayarlar

Sonraki adımlar

  • Sunucu parametrelerinin yanı sıra bir diğer yapılandırma biçimi de kümedeki kaynak yapılandırma seçenekleridir .
  • Temel alınan PostgreSQL veri tabanında yapılandırma parametreleri de vardır.