Delen via


Azure Cosmos DB for PostgreSQL-serverparameters

VAN TOEPASSING OP: Azure Cosmos DB for PostgreSQL (mogelijk gemaakt door de Citus-database-extensie naar PostgreSQL)

Er zijn verschillende serverparameters die van invloed zijn op het gedrag van Azure Cosmos DB for PostgreSQL, zowel van standaard PostgreSQL als specifiek voor Azure Cosmos DB for PostgreSQL. Deze parameters kunnen worden ingesteld in de Azure-portal voor een cluster. Kies Werkknooppunt-parameters of Coördinatorknooppunt-parameters in de categorie Instellingen. Op deze pagina's kunt u parameters instellen voor alle werkknooppunten of alleen voor het coördinatorknooppunt.

Azure Cosmos DB voor PostgreSQL-parameters

Notitie

Clusters met oudere versies van de Citus-extensie bieden mogelijk niet alle onderstaande parameters.

Algemene configuratie

citus.use_secondary_nodes (enum)

Hiermee stelt u het beleid in dat moet worden gebruikt bij het kiezen van knooppunten voor SELECT-query's. Als deze optie is ingesteld op 'altijd', vraagt de planner alleen knooppunten op die zijn gemarkeerd als secundaire noderole in pg_dist_node.

De ondersteunde waarden voor deze enum zijn:

  • nooit: (standaard) alle leesbewerkingen vinden plaats op primaire knooppunten.
  • altijd: leesbewerkingen worden in plaats daarvan uitgevoerd op secundaire knooppunten en insert/update-instructies zijn uitgeschakeld.

citus.cluster_name (tekst)

Informeert de coördinatorknooppuntplanner welk cluster het coördineert. Zodra cluster_name is ingesteld, vraagt de planner alleen werkknooppunten in dat cluster op.

citus.enable_version_checks (Booleaanse waarde)

Voor het upgraden van de Versie van Azure Cosmos DB for PostgreSQL moet de server opnieuw worden opgestart (om de nieuwe gedeelde bibliotheek op te halen), gevolgd door de opdracht ALTER EXTENSION UPDATE. De fout bij het uitvoeren van beide stappen kan leiden tot fouten of crashes. Azure Cosmos DB for PostgreSQL valideert dus de versie van de code en die van de extensieovereenkomst en fouten als ze dat niet doen.

Deze waarde is standaard ingesteld op true en is van kracht op de coördinator. In zeldzame gevallen kunnen complexe upgradeprocessen vereisen dat deze parameter wordt ingesteld op false, waardoor de controle wordt uitgeschakeld.

citus.log_distributed_deadlock_detection (Booleaanse waarde)

Of gedistribueerde detectie van impassedetectie in het serverlogboek moet worden vastgelegd. De standaardwaarde is onwaar.

citus.distributed_deadlock_detection_factor (drijvende komma)

Hiermee stelt u de tijd in die moet worden gewacht voordat u controleert op gedistribueerde impasses. Met name de tijd die moet worden gewacht, is deze waarde vermenigvuldigd met de deadlock_timeout instelling van PostgreSQL. De standaardwaarde is 2. Een waarde van het uitschakelen van -1 gedistribueerde impassedetectie.

citus.node_connection_timeout (integer)

De citus.node_connection_timeout GUC stelt de maximale duur (in milliseconden) in om te wachten tot de verbinding tot stand is gebracht. Azure Cosmos DB for PostgreSQL genereert een fout als de time-out is verstreken voordat ten minste één werkerverbinding tot stand is gebracht. Deze GUC is van invloed op de verbindingen van de coördinator met werkers en van werkers met elkaar.

  • Standaard: vijf seconden
  • Minimum: 10 milliseconden
  • Maximum: één uur
-- set to 30 seconds
ALTER DATABASE foo
SET citus.node_connection_timeout = 30000;

citus.log_remote_commands (Booleaanse waarde)

Registreer alle opdrachten die de coördinator naar werkknooppunten verzendt. Bijvoorbeeld:

-- 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;

De uitvoer toont verschillende query's die worden uitgevoerd op werkrollen vanwege de enkele count(*) query op de coördinator.

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 (tekst)

Azure Cosmos DB for PostgreSQL verbergt standaard shards uit de lijst met tabellen die PostgreSQL aan SQL-clients geeft. Dit doet dit omdat er meerdere shards per gedistribueerde tabel zijn en de shards afleidend kunnen zijn voor de SQL-client.

Met de citus.show_shards_for_app_name_prefixes GUC kunnen shards worden weergegeven voor geselecteerde clients die ze willen zien. De standaardwaarde is ''.

-- 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';

Shard-verbergen kan volledig worden uitgeschakeld met behulp van citus.override_table_visibility.

citus.override_table_visibility (Booleaanse waarde)

Bepaalt of citus.show_shards_for_app_name_prefixes actief is. De standaardwaarde is 'true'. Als deze is ingesteld op 'false', zijn shards zichtbaar voor alle clienttoepassingen.

citus.use_citus_managed_tables (Booleaanse waarde)

Toestaan dat nieuwe lokale tabellen worden geopend door query's op werkknooppunten. Voegt alle zojuist gemaakte tabellen toe aan Citus-metagegevens wanneer deze zijn ingeschakeld. De standaardwaarde is 'false'.

citus.rebalancer_by_disk_size_base_cost (geheel getal)

Met behulp van de by_disk_size herbalancestrategie krijgt elke shardgroep deze kosten in bytes die zijn toegevoegd aan de werkelijke schijfgrootte. Deze waarde wordt gebruikt om te voorkomen dat er een slechte balans ontstaat wanneer er weinig gegevens zijn in een aantal shards. De veronderstelling is dat zelfs lege shards enige kosten hebben, vanwege parallelle uitvoering en omdat lege shardgroepen in de toekomst waarschijnlijk zullen groeien.

De standaardwaarde is 100MB.

Querystatistieken

citus.stat_statements_purge_interval (geheel getal)

Hiermee stelt u de frequentie in waarmee de onderhoudsdaemon records verwijdert uit citus_stat_statements die niet overeenkomen.pg_stat_statements Met deze configuratiewaarde wordt het tijdsinterval tussen leegmaken in seconden ingesteld, met een standaardwaarde van 10. Met een waarde van 0 worden de leegmaken uitgeschakeld.

SET citus.stat_statements_purge_interval TO 5;

Deze parameter is van kracht voor de coördinator en kan tijdens runtime worden gewijzigd.

citus.stat_statements_max (integer)

Het maximale aantal rijen om op te slaan in citus_stat_statements. De standaardwaarde is 50000 en kan worden gewijzigd in elke waarde in het bereik 1000 - 100000000. Elke rij vereist 140 bytes opslagruimte, dus als u stat_statements_max de maximumwaarde van 10 miljoen instelt, verbruikt u 1,4 GB geheugen.

Het wijzigen van deze GUC wordt pas van kracht nadat PostgreSQL opnieuw is opgestart.

citus.stat_statements_track (opsomming)

Voor het vastleggen van statistieken zijn citus_stat_statements extra CPU-resources vereist. Wanneer de database wordt belast, kan de beheerder het bijhouden van instructies uitschakelen door de instelling in te nonestellencitus.stat_statements_track.

  • all: (standaard) Alle instructies bijhouden.
  • geen: Tracering uitschakelen.

citus.stat_tenants_untracked_sample_rate

Samplingfrequentie voor nieuwe tenants in citus_stat_tenants. Het tarief kan variëren tussen 0.0 en 1.0. De standaardinstelling betekent 1.0 dat 100% van niet-bijgehouden tenantquery's worden gesampleerd. Als u deze instelt op een lagere waarde, betekent dit dat al bijgehouden tenants 100% query's hebben, maar tenants die momenteel niet worden bijgehouden, worden alleen gesampampleerd met de opgegeven snelheid.

Gegevens laden

citus.multi_shard_commit_protocol (opsomming)

Hiermee stelt u het doorvoerprotocol in dat moet worden gebruikt bij het uitvoeren van COPY op een gedistribueerde hashtabel. Bij elke afzonderlijke shardplaatsing wordt de COPY uitgevoerd in een transactieblok om ervoor te zorgen dat er geen gegevens worden opgenomen als er een fout optreedt tijdens de COPY. Er is echter een bepaald foutgeval waarin het KOPIËREN slaagt op alle plaatsingen, maar er treedt een (hardware)-fout op voordat alle transacties worden doorgevoerd. Deze parameter kan worden gebruikt om gegevensverlies in dat geval te voorkomen door te kiezen tussen de volgende doorvoerprotocollen:

  • 2pc: (standaard) De transacties waarin COPY wordt uitgevoerd op de shardplaatsingen worden eerst voorbereid met behulp van de tweefasige doorvoer van PostgreSQL en vervolgens doorgevoerd. Mislukte doorvoeringen kunnen handmatig worden hersteld of afgebroken met respectievelijk COMMIT PREPARED of ROLLBACK PREPARED. Wanneer u 2pc gebruikt, moet max_prepared_transactions worden verhoogd voor alle werknemers, meestal tot dezelfde waarde als max_connections.
  • 1pc: De transacties waarin COPY wordt uitgevoerd op de shardplaatsingen worden in één ronde doorgevoerd. Gegevens kunnen verloren gaan als een doorvoer mislukt nadat COPY is geslaagd op alle plaatsingen (zeldzaam).

citus.shard_replication_factor (geheel getal)

Hiermee stelt u de replicatiefactor in voor shards, het aantal knooppunten waarop shards worden geplaatst en wordt standaard ingesteld op 1. Deze parameter kan tijdens runtime worden ingesteld en is van kracht op de coördinator. De ideale waarde voor deze parameter is afhankelijk van de grootte van het cluster en de snelheid van knooppuntfouten. U kunt deze replicatiefactor bijvoorbeeld verhogen als u grote clusters uitvoert en knooppuntfouten regelmatiger bekijkt.

Planner-configuratie

citus.local_table_join_policy (opsomming)

Deze GUC bepaalt hoe Azure Cosmos DB for PostgreSQL gegevens verplaatst bij het uitvoeren van een join tussen lokale en gedistribueerde tabellen. Door het joinbeleid aan te passen, kan de hoeveelheid gegevens die tussen werkknooppunten worden verzonden, worden verminderd.

Azure Cosmos DB for PostgreSQL verzendt indien nodig de lokale of gedistribueerde tabellen naar knooppunten om de join te ondersteunen. Het kopiëren van tabelgegevens wordt een 'conversie' genoemd. Als een lokale tabel wordt geconverteerd, wordt deze verzonden naar werknemers die de gegevens nodig hebben om de join uit te voeren. Als een gedistribueerde tabel wordt geconverteerd, wordt deze verzameld in de coördinator ter ondersteuning van de join. De Azure Cosmos DB for PostgreSQL-planner verzendt alleen de benodigde rijen die een conversie uitvoeren.

Er zijn vier modi beschikbaar om de conversievoorkeur uit te drukken:

  • auto: (standaard) Azure Cosmos DB for PostgreSQL converteert alle lokale of alle gedistribueerde tabellen ter ondersteuning van lokale en gedistribueerde tabeldeelnames. Azure Cosmos DB for PostgreSQL bepaalt welke conversie moet worden uitgevoerd met behulp van een heuristiek. Gedistribueerde tabellen worden geconverteerd als ze worden samengevoegd met behulp van een constant filter op een unieke index (zoals een primaire sleutel). De conversie zorgt ervoor dat er minder gegevens worden verplaatst tussen werkrollen.
  • nooit: Azure Cosmos DB for PostgreSQL staat geen joins toe tussen lokale en gedistribueerde tabellen.
  • voorkeursinstelling: Azure Cosmos DB for PostgreSQL converteert liever lokale tabellen om lokale en gedistribueerde tabeldeelnames te ondersteunen.
  • voorkeursverdeling: Azure Cosmos DB for PostgreSQL converteert liever gedistribueerde tabellen om lokale en gedistribueerde tabeldeelnames te ondersteunen. Als de gedistribueerde tabellen enorm zijn, kan het gebruik van deze optie leiden tot het verplaatsen van veel gegevens tussen werkrollen.

Stel dat dit citus_table een gedistribueerde tabel is die wordt gedistribueerd door de kolom xen dat postgres_table is een lokale tabel:

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 (geheel getal)

Hiermee stelt u het aantal rijen in dat per taak moet worden opgehaald voor optimalisatie van limietcomponenten. In sommige gevallen moeten selectiequery's met limietclausules mogelijk alle rijen van elke taak ophalen om resultaten te genereren. In die gevallen en wanneer een benadering zinvolle resultaten zou opleveren, stelt deze configuratiewaarde het aantal rijen in dat uit elke shard moet worden opgehaald. Limieten zijn standaard uitgeschakeld en deze parameter is ingesteld op -1. Deze waarde kan tijdens runtime worden ingesteld en is van kracht op de coördinator.

citus.count_distinct_error_rate (drijvende komma)

Azure Cosmos DB for PostgreSQL kan het aantal(afzonderlijke) schattingen berekenen met behulp van de postgresql-hll-extensie. Met deze configuratievermelding wordt het gewenste foutpercentage ingesteld bij het berekenen van aantal (uniek). 0.0, de standaardinstelling, schakelt benaderingen voor aantal(uniek) uit; en 1.0 bieden geen garanties over de nauwkeurigheid van de resultaten. We raden u aan deze parameter in te stellen op 0,005 voor de beste resultaten. Deze waarde kan tijdens runtime worden ingesteld en is van kracht op de coördinator.

citus.task_assignment_policy (opsomming)

Notitie

Deze GUC is alleen van toepassing wanneer shard_replication_factor groter is dan één, of voor query's op reference_tables.

Hiermee stelt u het beleid in dat moet worden gebruikt bij het toewijzen van taken aan werkrollen. De coördinator wijst taken toe aan werknemers op basis van shardlocaties. Deze configuratiewaarde geeft het beleid op dat moet worden gebruikt bij het maken van deze toewijzingen. Er zijn momenteel drie mogelijke beleidsregels voor taaktoewijzing die kunnen worden gebruikt.

  • hebzuchtig: het hebzuchtige beleid is de standaardinstelling en is erop gericht taken gelijkmatig over werknemers te verdelen.
  • round robin: Het round robin-beleid wijst taken toe aan werknemers op een round robin-manier die wisselt tussen verschillende replica's. Dit beleid maakt een beter clustergebruik mogelijk wanneer het aantal shards voor een tabel laag is vergeleken met het aantal werkrollen.
  • first-replica: Met het beleid voor eerste replica's worden taken toegewezen op basis van de invoegvolgorde van plaatsingen (replica's) voor de shards. Met andere woorden, de fragmentquery voor een shard wordt toegewezen aan de werkrol met de eerste replica van die shard. Met deze methode kunt u sterke garanties hebben over welke shards worden gebruikt op welke knooppunten (dat wil gezegd, sterkere garanties voor geheugenlocatie).

Deze parameter kan tijdens runtime worden ingesteld en is van kracht op de coördinator.

citus.enable_non_colocated_router_query_pushdown (booleaanse waarde)

Hiermee schakelt u routerplanner in voor de query's die verwijzen naar niet-gedistribueerde tabellen die verwijzen naar gedistribueerde tabellen die niet zijn opgenomen in een andere locatie.

De routerplanner is alleen ingeschakeld voor query's die verwijzen naar gedistribueerde tabellen die verwijzen naar gedistribueerde tabellen, omdat shards anders mogelijk niet op hetzelfde knooppunt staan. Als u deze vlag inschakelt, is optimalisatie mogelijk voor query's die verwijzen naar dergelijke tabellen, maar de query werkt mogelijk niet na het opnieuw verdelen van de shards of het wijzigen van het aantal shards van deze tabellen.

De standaardwaarde is off.

Tussenliggende gegevensoverdracht

citus.max_intermediate_result_size (geheel getal)

De maximale grootte in kB van tussenliggende resultaten voor CTE's die niet kunnen worden gepusht naar werkknooppunten voor uitvoering en voor complexe subquery's. De standaardwaarde is 1 GB en een waarde van -1 betekent geen limiet. Query's die de limiet overschrijden, worden geannuleerd en produceren een foutbericht.

DDL

citus.enable_schema_based_sharding

Als de parameter is ingesteld op ON, worden alle gemaakte schema's standaard gedistribueerd. Gedistribueerde schema's worden automatisch gekoppeld aan afzonderlijke colocatiegroepen, zodat de tabellen die in deze schema's zijn gemaakt, worden geconverteerd naar gedistribueerde tabellen met een puntkomma zonder een shardsleutel. Deze instelling kan worden gewijzigd voor afzonderlijke sessies.

Zie voor een voorbeeld van het gebruik van deze GUC hoe u ontwerpt voor microservice.

Uitvoerprogrammaconfiguratie

Algemeen

citus.all_modifications_commutative

Azure Cosmos DB for PostgreSQL dwingt commutativiteitsregels af en verkrijgt de juiste vergrendelingen voor wijzigingsbewerkingen om de juistheid van het gedrag te garanderen. Er wordt bijvoorbeeld van uitgegaan dat een INSERT-instructie pendelt met een andere INSERT-instructie, maar niet met een UPDATE- of DELETE-instructie. Op dezelfde manier wordt ervan uitgegaan dat een UPDATE- of DELETE-instructie niet werkt met een andere UPDATE- of DELETE-instructie. Deze voorzorgsmaatregel betekent dat UPDATEs en DELETEs Azure Cosmos DB for PostgreSQL vereisen om sterkere vergrendelingen te verkrijgen.

Als u UPDATE-instructies hebt die commutatief zijn met uw INSERT's of andere UPDATEs, kunt u deze veronderstellingen voor commutativiteit versoepelen door deze parameter in te stellen op waar. Wanneer deze parameter is ingesteld op true, worden alle opdrachten beschouwd als commutatief en claimen ze een gedeelde vergrendeling, waardoor de totale doorvoer kan worden verbeterd. Deze parameter kan tijdens runtime worden ingesteld en is van kracht op de coördinator.

citus.remote_task_check_interval (geheel getal)

Hiermee stelt u de frequentie in waarmee Azure Cosmos DB for PostgreSQL controleert op statussen van taken die worden beheerd door de taaktrackeruitvoering. De standaardwaarde is 10 ms. De coördinator wijst taken toe aan werknemers en controleert regelmatig met hen over de voortgang van elke taak. Met deze configuratiewaarde wordt het tijdsinterval tussen twee consequente controles ingesteld. Deze parameter is van kracht voor de coördinator en kan tijdens runtime worden ingesteld.

citus.task_executor_type (opsomming)

Azure Cosmos DB for PostgreSQL heeft drie uitvoerderstypen voor het uitvoeren van gedistribueerde SELECT-query's. De gewenste uitvoerder kan worden geselecteerd door deze configuratieparameter in te stellen. De geaccepteerde waarden voor deze parameter zijn:

  • adaptief: de standaardinstelling. Het is optimaal voor snelle reacties op query's die betrekking hebben op aggregaties en gekoppelde joins tussen meerdere shards.
  • task-tracker: de taaktrackeruitvoering is geschikt voor langdurige, complexe query's waarvoor het shuffling van gegevens tussen werkknooppunten en efficiënt resourcebeheer is vereist.
  • realtime: (afgeschaft) Dient een vergelijkbaar doel als de adaptieve uitvoerder, maar is minder flexibel en kan meer druk op werkknooppunten veroorzaken.

Deze parameter kan tijdens runtime worden ingesteld en is van kracht op de coördinator.

citus.multi_task_query_log_level (enum) {#multi_task_logging}

Hiermee stelt u een logboekniveau in voor elke query die meer dan één taak genereert (dat wil gezegd, die meerdere shards bereikt). Logboekregistratie is handig tijdens een migratie van meerdere tenants, omdat u ervoor kunt kiezen om fouten op te geven of te waarschuwen voor dergelijke query's, om ze te vinden en een tenant_id filter toe te voegen. Deze parameter kan tijdens runtime worden ingesteld en is van kracht op de coördinator. De standaardwaarde voor deze parameter is 'uit'.

De ondersteunde waarden voor deze enum zijn:

  • uit: Schakel logboekregistratie uit voor query's die meerdere taken genereren (dat wil gezegd meerdere shards omvatten)
  • foutopsporing: logboekinstructie op ernstniveau DEBUG.
  • log: Logboekinstructie op log-ernstniveau. De logboeklijn bevat de SQL-query die is uitgevoerd.
  • kennisgeving: Logboekinstructie op ernstniveau VAN NOTICE.
  • waarschuwing: logboekinstructie op ernstniveau WAARSCHUWING.
  • fout: logboekinstructie op ernstniveau ERROR.

Het kan handig zijn om te gebruiken error tijdens het testen van ontwikkeling en een lager logboekniveau, zoals log tijdens de daadwerkelijke productie-implementatie. log Als u kiest, worden query's met meerdere taken weergegeven in de databaselogboeken, waarbij de query zelf wordt weergegeven na 'STATEMENT'.

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 (opsomming)

Bepaalt welke SET-opdrachten worden doorgegeven van de coördinator aan werknemers. De standaardwaarde voor deze parameter is 'none'.

De ondersteunde waarden zijn:

  • geen: er worden geen SET-opdrachten doorgegeven.
  • local: alleen SET LOCAL-opdrachten worden doorgegeven.
citus.create_object_propagation (opsomming)

Hiermee bepaalt u het gedrag van CREATE-instructies in transacties voor ondersteunde objecten.

Wanneer objecten worden gemaakt in een transactieblok met meerdere instructies, schakelt Azure Cosmos DB for PostgreSQL sequentiële modus om ervoor te zorgen dat gemaakte objecten zichtbaar zijn voor latere instructies over shards. De schakeloptie naar de sequentiële modus is echter niet altijd wenselijk. Door dit gedrag te overschrijven, kan de gebruiker de prestaties voor volledige transactionele consistentie afwegen bij het maken van nieuwe objecten.

De standaardwaarde voor deze parameter is 'direct'.

De ondersteunde waarden zijn:

  • onmiddellijk: veroorzaakt een fout in transacties waarbij parallelle bewerkingen zoals create_distributed_table plaatsvinden voordat een poging tot CREATE TYPE wordt uitgevoerd.
  • automatisch: het maken van typen uitstellen bij het delen van een transactie met een parallelle bewerking op gedistribueerde tabellen. Er kan sprake zijn van inconsistentie tussen welke databaseobjecten op verschillende knooppunten bestaan.
  • uitgesteld: terugkeren naar pre-11.0 gedrag, zoals automatisch, maar met andere subtiele hoek gevallen. U wordt aangeraden de automatische instelling uit te stellen, tenzij u echte compatibiliteit met eerdere versies nodig hebt.

Zie typedoorgifte voor een voorbeeld van deze GUC in actie.

citus.enable_repartition_joins (Booleaanse waarde)

Normaal gesproken mislukt het uitvoeren van repartition-joins met de adaptieve uitvoerder met een foutbericht. Als u de instelling citus.enable_repartition_joins waar instelt, kan Azure Cosmos DB for PostgreSQL echter tijdelijk overschakelen naar de taaktrackeruitvoering om de join uit te voeren. De standaardwaarde is false.

citus.enable_repartitioned_insert_select (Booleaanse waarde)

Standaard een INSERT INTO ... SELECT-instructie die niet kan worden gepusht, probeert rijen opnieuw te partitioneren vanuit de SELECT-instructie en deze over te dragen tussen werkrollen voor invoeging. Als de doeltabel echter te veel shards heeft, presteert het opnieuw partitioneren waarschijnlijk niet goed. De overhead van het verwerken van de shard-intervallen bij het bepalen hoe de resultaten moeten worden gepartitioneert, is te groot. Herpartitionering kan handmatig worden uitgeschakeld door in te stellen citus.enable_repartitioned_insert_select op false.

citus.enable_binary_protocol (Booleaanse waarde)

Als u deze parameter instelt op true, geeft u het coördinatorknooppunt de opdracht om de binaire serialisatie-indeling van PostgreSQL (indien van toepassing) te gebruiken om gegevens over te dragen met werkrollen. Sommige kolomtypen bieden geen ondersteuning voor binaire serialisatie.

Het inschakelen van deze parameter is vooral handig wanneer de werknemers grote hoeveelheden gegevens moeten retourneren. Voorbeelden zijn wanneer veel rijen worden aangevraagd, de rijen veel kolommen hebben of gebruikmaken van brede typen, zoals hll uit de postgresql-hll-extensie.

De standaardwaarde is true. Indien ingesteld op false, worden alle resultaten gecodeerd en overgebracht in tekstindeling.

citus.max_adaptive_executor_pool_size (geheel getal)

Max_adaptive_executor_pool_size beperkt werkrolverbindingen van de huidige sessie. Deze GUC is handig voor:

  • Voorkomen dat één back-end alle werkrolbronnen ophaalt
  • Prioriteitsbeheer bieden: sessies met lage prioriteit met een lage max_adaptive_executor_pool_size en sessies met hoge prioriteit met hogere waarden aanwijzen

De standaardwaarde is 16.

citus.executor_slow_start_interval (geheel getal)

Tijd om te wachten in milliseconden tussen het openen van verbindingen met hetzelfde werkknooppunt.

Wanneer de afzonderlijke taken van een query met meerdere shards weinig tijd in beslag nemen, kunnen ze vaak worden voltooid via één (vaak al in de cache opgeslagen) verbinding. Om redundante opening van meer verbindingen te voorkomen, wacht de uitvoerder tussen verbindingspogingen voor het geconfigureerde aantal milliseconden. Aan het einde van het interval wordt het aantal verbindingen verhoogd dat de volgende keer mag worden geopend.

Voor lange query's (die 500 ms duren >), kan trage start latentie toevoegen, maar voor korte query's is het sneller. De standaardwaarde is 10 ms.

citus.max_cached_conns_per_worker (geheel getal)

Elke back-end opent verbindingen met de werkrollen om een query uit te voeren op de shards. Aan het einde van de transactie wordt het geconfigureerde aantal verbindingen geopend om volgende opdrachten te versnellen. Als u deze waarde verhoogt, wordt de latentie van query's met meerdere shards verminderd, maar wordt ook de overhead voor de werkrollen verhoogd.

De standaardwaarde is 1. Een grotere waarde, zoals 2, kan nuttig zijn voor clusters die een klein aantal gelijktijdige sessies gebruiken, maar het is niet verstandig om veel verder te gaan (bijvoorbeeld 16 zou te hoog zijn).

citus.force_max_query_parallelization (Booleaanse waarde)

Simuleert de afgeschafte en nu niet-bestaande realtime uitvoerder. Deze parameter wordt gebruikt om zoveel mogelijk verbindingen te openen om queryparallellisatie te maximaliseren.

Wanneer deze GUC is ingeschakeld, dwingt Azure Cosmos DB for PostgreSQL de adaptieve uitvoerder zoveel mogelijk verbindingen te gebruiken tijdens het uitvoeren van een parallelle gedistribueerde query. Als dit niet is ingeschakeld, kan de uitvoerder ervoor kiezen om minder verbindingen te gebruiken om de totale doorvoer van query-uitvoering te optimaliseren. Intern kunt u dit true zo instellen dat er één verbinding per taak wordt gebruikt.

Een plaats waar deze parameter nuttig is, is in een transactie waarvan de eerste query lichtgewicht is en weinig verbindingen vereist, terwijl een volgende query baat heeft bij meer verbindingen. Azure Cosmos DB for PostgreSQL bepaalt hoeveel verbindingen in een transactie moeten worden gebruikt op basis van de eerste instructie, waardoor andere query's kunnen worden beperkt, tenzij we de GUC gebruiken om een hint op te geven.

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;

De standaardwaarde is false.

Taaktrackerconfiguratie

citus.task_tracker_delay (geheel getal)

Met deze parameter stelt u de slaaptijd van de taaktracker in tussen taakbeheerrondes en wordt standaard ingesteld op 200 ms. Het taaktrackerproces wordt regelmatig geactiveerd, begeleidt alle taken die eraan zijn toegewezen en plant en voert deze taken uit. Vervolgens slaapt de taaktracker gedurende een bepaalde periode voordat deze taken opnieuw worden uitgevoerd. Deze configuratiewaarde bepaalt de lengte van die slaapperiode. Deze parameter is van kracht op de werkrollen en moet worden gewijzigd in het bestand postgresql.conf. Na het bewerken van het configuratiebestand kunnen gebruikers een SIGHUP-signaal verzenden of de server opnieuw starten om de wijziging van kracht te laten worden.

Deze parameter kan worden verlaagd om de vertraging te beperken die wordt veroorzaakt door de taaktrackeruitvoering door het tijdsverschil tussen de beheerrondes te verminderen. Het verlagen van de vertraging is handig in gevallen waarin de shardquery's kort zijn en daarom hun status regelmatig bijwerken.

citus.max_assign_task_batch_size (geheel getal)

Met de taaktrackeruitvoering op de coördinator worden taken in batches synchroon toegewezen aan de daemon op de werkrollen. Met deze parameter wordt het maximum aantal taken ingesteld dat in één batch moet worden toegewezen. Door een grotere batchgrootte te kiezen, kunt u sneller taken toewijzen. Als het aantal werknemers echter groot is, kan het langer duren voordat alle werknemers taken krijgen. Deze parameter kan tijdens runtime worden ingesteld en is van kracht op de coördinator.

citus.max_running_tasks_per_node (geheel getal)

Het taaktrackerproces plant en voert de taken uit die aan het proces zijn toegewezen, indien van toepassing. Met deze configuratiewaarde wordt het maximum aantal taken ingesteld dat gelijktijdig op één knooppunt op een bepaald moment moet worden uitgevoerd en de standaardwaarde is ingesteld op 8.

De limiet zorgt ervoor dat u niet veel taken tegelijk op schijf hebt en helpt bij het voorkomen van I/O-conflicten op de schijf. Als uw query's worden geleverd vanuit het geheugen of DEHD's, kunt u max_running_tasks_per_node verhogen zonder veel zorgen.

citus.partition_buffer_size (geheel getal)

Hiermee stelt u de buffergrootte in die moet worden gebruikt voor partitiebewerkingen en wordt standaard ingesteld op 8 MB. Met Azure Cosmos DB for PostgreSQL kunnen tabelgegevens opnieuw worden gepartitioneerd in meerdere bestanden wanneer twee grote tabellen worden samengevoegd. Nadat deze partitiebuffer vol is, worden de opnieuw gepartitioneerde gegevens leeggemaakt in bestanden op schijf. Deze configuratievermelding kan worden ingesteld tijdens runtime en is van kracht op de werkrollen.

Uitvoer uitleggen

citus.explain_all_tasks (Booleaanse waarde)

Azure Cosmos DB for PostgreSQL toont standaard de uitvoer van één willekeurige taak bij het uitvoeren van EXPLAIN op een gedistribueerde query. In de meeste gevallen is de uitleg van uitvoer vergelijkbaar met taken. Soms worden sommige taken anders gepland of hebben ze veel hogere uitvoeringstijden. In dergelijke gevallen kan het handig zijn om deze parameter in te schakelen, waarna de UITVOER EXPLAIN alle taken bevat. Het uitleggen van alle taken kan ertoe leiden dat de UITLEG langer duurt.

citus.explain_analyze_sort_method (opsomming)

Bepaalt de sorteermethode van de taken in de uitvoer van EXPLAIN ANALYZE. De standaardwaarde citus.explain_analyze_sort_method is execution-time.

De ondersteunde waarden zijn:

  • uitvoeringstijd: sorteren op uitvoeringstijd.
  • taskId: sorteren op taak-id.

Beheerde PgBouncer-parameters

De volgende beheerde PgBouncer-parameters kunnen worden geconfigureerd op één knooppunt of coördinator.

Parameternaam Beschrijving Standaard
pgbouncer.default_pool_size Stel deze parameterwaarde in op het aantal verbindingen per gebruiker/databasepaar. 295
pgbouncer.ignore_startup_parameters Door komma's gescheiden lijst met parameters die PgBouncer kan negeren. U kunt bijvoorbeeld de parameter PgBouncer laten negeren extra_float_digits . Sommige parameters zijn toegestaan, alle andere veroorzaken een fout. Deze mogelijkheid is nodig om overenthusiastische JDBC te tolereren die 'extra_float_digits=2' in opstartpakket wil instellen. Gebruik deze optie als de bibliotheek die u gebruikt, fouten rapporteert, zoals pq: unsupported startup parameter: extra_float_digits. extra_float_digits, ssl_renegotiation_limit
pgBouncer.max_client_conn Stel deze parameterwaarde in op het hoogste aantal clientverbindingen met PgBouncer dat u wilt ondersteunen. 2000
pgBouncer.min_pool_size Voeg meer serververbindingen toe aan de pool als deze onder dit nummer wordt weergegeven. 0 (uitgeschakeld)
pgBouncer.pool_mode Stel deze parameterwaarde in op TRANSACTION voor transactiepooling (dit is de aanbevolen instelling voor de meeste workloads). TRANSACTIE
pgbouncer.query_wait_timeout Maximale tijd (in seconden) query's mogen wachten op uitvoering. Als de query gedurende die tijd niet is toegewezen aan een server, wordt de verbinding met de client verbroken. 20 s
pgbouncer.server_idle_timeout Als een serververbinding meer dan dit aantal seconden inactief is geweest, wordt deze gesloten. Als 0 is deze time-out uitgeschakeld. 60 s

PostgreSQL-parameters

  • DateStyle - Hiermee stelt u de weergave-indeling in voor datum- en tijdwaarden
  • IntervalStyle - Hiermee stelt u de weergave-indeling voor intervalwaarden in
  • Tijdzone - Hiermee stelt u de tijdzone in voor het weergeven en interpreteren van tijdstempels
  • application_name : hiermee stelt u de naam van de toepassing in om te worden gerapporteerd in statistieken en logboeken
  • array_nulls - Hiermee schakelt u invoer van NULL-elementen in matrices in
  • autovacuum - Hiermee start u het autovacuum-subproces
  • autovacuum_analyze_scale_factor - Aantal tuple-invoegingen, updates of verwijderingen voordat ze worden geanalyseerd als een fractie van de reltuples
  • autovacuum_analyze_threshold : minimaal aantal tuple-invoegingen, updates of verwijderingen voorafgaand aan analyse
  • autovacuum_naptime - Tijd om te slapen tussen autovacuum-uitvoeringen
  • autovacuum_vacuum_cost_delay - Vertraging van vacuümkosten in milliseconden, voor autovacuum
  • autovacuum_vacuum_cost_limit - Vacuümkostenbedrag beschikbaar voor napping, voor autovacuum
  • autovacuum_vacuum_scale_factor - Aantal tuple-updates of verwijderingen voorafgaand aan vacuüm als fractie van reltuples
  • autovacuum_vacuum_threshold - Minimaal aantal tuple-updates of verwijderingen voorafgaand aan vacuüm
  • autovacuum_work_mem - Hiermee stelt u het maximale geheugen in dat moet worden gebruikt door elk automatischvacuum-werkproces
  • backend_flush_after - Aantal pagina's waarna eerder uitgevoerde schrijfbewerkingen naar schijf worden leeggemaakt
  • backslash_quote - Hiermee stelt u in of ''' is toegestaan in letterlijke tekenreeksen
  • bgwriter_delay - Slaaptijd achtergrondschrijver tussen rondes
  • bgwriter_flush_after - Aantal pagina's waarna eerder uitgevoerde schrijfbewerkingen naar schijf worden leeggemaakt
  • bgwriter_lru_maxpages - Maximum aantal LRU-pagina's voor achtergrondschrijvers per ronde
  • bgwriter_lru_multiplier - Veelvoud van het gemiddelde buffergebruik per ronde
  • bytea_output - Hiermee stelt u de uitvoerindeling voor bytea in
  • check_function_bodies - Controleert functieteksten tijdens CREATE FUNCTION
  • checkpoint_completion_target - Tijd besteed aan het leegmaken van vuile buffers tijdens het controlepunt, als fractie van het controlepuntinterval
  • checkpoint_timeout - Hiermee stelt u de maximale tijd tussen automatische WAL-controlepunten in
  • checkpoint_warning : hiermee worden waarschuwingen ingeschakeld als controlepuntsegmenten vaker worden ingevuld dan deze
  • client_encoding - Stelt de tekensetcodering van de client in
  • client_min_messages - Hiermee stelt u de berichtniveaus in die naar de client worden verzonden
  • commit_delay - Hiermee stelt u de vertraging in microseconden tussen transactiedoorvoering en leegmaken van WAL naar schijf
  • commit_siblings - Hiermee stelt u de minimale gelijktijdige openstaande transacties in voordat u commit_delay
  • constraint_exclusion : hiermee kan de planner beperkingen gebruiken om query's te optimaliseren
  • cpu_index_tuple_cost - Stelt de schatting van de planner in van de kosten voor het verwerken van elke indexvermelding tijdens een indexscan
  • cpu_operator_cost - Stelt de schatting van de planner in van de kosten voor het verwerken van elke operator of functie-aanroep
  • cpu_tuple_cost - Stelt de schatting van de planner in van de kosten voor het verwerken van elke tuple (rij)
  • cursor_tuple_fraction - Hiermee stelt u de schatting van de planner in van de fractie van de rijen van een cursor die worden opgehaald
  • deadlock_timeout - Hiermee stelt u de hoeveelheid tijd in milliseconden in om te wachten op een vergrendeling voordat wordt gecontroleerd op een impasse
  • debug_pretty_print - Inspringingen parseren en planstructuur weergeven
  • debug_print_parse - Registreert de parseringsstructuur van elke query
  • debug_print_plan - Registreert het uitvoeringsplan van elke query
  • debug_print_rewritten - Registreert de herschreven structuur van elke query
  • default_statistics_target - Hiermee stelt u het standaarddoel voor statistieken in
  • default_tablespace - Hiermee stelt u de standaardtabelruimte in om tabellen en indexen te maken in
  • default_text_search_config - Hiermee stelt u de standaardconfiguratie voor zoeken in tekst in
  • default_transaction_deferrable - Hiermee stelt u de standaarduitstelbare status van nieuwe transacties in
  • default_transaction_isolation - Hiermee stelt u het isolatieniveau van de transactie van elke nieuwe transactie in
  • default_transaction_read_only - Hiermee stelt u de standaardstatus alleen-lezen van nieuwe transacties in
  • default_with_oids - Maakt standaard nieuwe tabellen met OID's
  • effective_cache_size - Stelt de aanname van de planner in over de grootte van de schijfcache
  • enable_bitmapscan : hiermee schakelt u het gebruik van bitmapscanplannen van de planner in
  • enable_gathermerge - Hiermee wordt het gebruik van samenvoegplannen van de planner ingeschakeld
  • enable_hashagg : hiermee schakelt u het gebruik van gehashte aggregatieplannen van de planner in
  • enable_hashjoin : hiermee schakelt u het gebruik van hash-join-plannen van de planner in
  • enable_indexonlyscan : hiermee schakelt u het gebruik van plannen voor alleen-indexscans van de planner in
  • enable_indexscan : hiermee schakelt u het gebruik van indexscanplannen van de planner in
  • enable_material - Maakt het gebruik van materialisatie van de planner mogelijk
  • enable_mergejoin - Hiermee schakelt u het gebruik van samenvoegingsplannen van de planner in
  • enable_nestloop : hiermee schakelt u het gebruik van geneste lusabonnementen van de planner in
  • enable_seqscan : hiermee schakelt u het gebruik van sequentiële scanplannen van de planner in
  • enable_sort : hiermee schakelt u het gebruik van expliciete sorteerstappen van de planner in
  • enable_tidscan : hiermee schakelt u het gebruik van TID-scanplannen van de planner in
  • escape_string_warning - Waarschuwingen over backslash-escapes in gewone letterlijke tekenreeksen
  • exit_on_error - Sessie beëindigen bij een fout
  • extra_float_digits - Hiermee stelt u het aantal cijfers in dat wordt weergegeven voor waarden met drijvende komma
  • force_parallel_mode - Het gebruik van parallelle queryfaciliteiten afding
  • from_collapse_limit : hiermee stelt u de grootte van de FROM-lijst in waarboven subquery's niet zijn samengevouwen
  • geqo - Maakt optimalisatie van genetische query's mogelijk
  • geqo_effort - GEQO: inspanning wordt gebruikt om de standaardwaarde in te stellen voor andere GEQO-parameters
  • geqo_generations - GEQO: aantal iteraties van het algoritme
  • geqo_pool_size - GEQO: aantal individuen in de populatie
  • geqo_seed - GEQO: seed for random path selection
  • geqo_selection_bias - GEQO: selectieve druk binnen de populatie
  • geqo_threshold - Hiermee stelt u de drempelwaarde voor FROM-items in waarvoor GEQO wordt gebruikt
  • gin_fuzzy_search_limit - Hiermee stelt u het maximaal toegestane resultaat in voor exacte zoekopdrachten op GIN
  • gin_pending_list_limit - Hiermee stelt u de maximale grootte van de lijst in behandeling voor de GIN-index in
  • idle_in_transaction_session_timeout - Hiermee stelt u de maximaal toegestane duur van een niet-actieve transactie in
  • join_collapse_limit : hiermee stelt u de grootte van de FROM-lijst in waarboven JOIN-constructies niet worden afgevlakt
  • lc_monetary - Hiermee stelt u de landinstelling in voor het opmaken van geldbedragen
  • lc_numeric - Hiermee stelt u de landinstelling voor het opmaken van getallen in
  • lo_compat_privileges : hiermee schakelt u de compatibiliteitsmodus achterwaarts in voor controle op grote objecten
  • lock_timeout - Hiermee stelt u de maximaal toegestane duur (in milliseconden) van een wachttijd voor een vergrendeling in. 0 schakelt dit uit
  • log_autovacuum_min_duration - Hiermee stelt u de minimale uitvoeringstijd in waarboven autovacuum-acties worden geregistreerd
  • log_connections - Registreert elke geslaagde verbinding
  • log_destination - Hiermee stelt u de bestemming in voor de uitvoer van serverlogboeken
  • log_disconnections - Logboeken einde van een sessie, inclusief duur
  • log_duration - Registreert de duur van elke voltooide SQL-instructie
  • log_error_verbosity - Hiermee stelt u de uitgebreidheid van vastgelegde berichten in
  • log_lock_waits - Logboeken lange vergrendelingswachttijden
  • log_min_duration_statement : hiermee stelt u de minimale uitvoeringstijd (in milliseconden) in waarboven instructies worden vastgelegd. -1 schakelt de duur van logboekregistratie-instructies uit
  • log_min_error_statement : zorgt ervoor dat alle instructies die een fout genereren op of boven dit niveau worden geregistreerd
  • log_min_messages - Hiermee stelt u de berichtniveaus in die zijn vastgelegd
  • log_replication_commands - Registreert elke replicatieopdracht
  • log_statement - Hiermee stelt u het type instructies in dat is vastgelegd
  • log_statement_stats: schrijft voor elke query cumulatieve prestatiestatistieken naar het serverlogboek
  • log_temp_files - Registreert het gebruik van tijdelijke bestanden die groter zijn dan dit aantal kilobytes
  • maintenance_work_mem - Hiermee stelt u het maximale geheugen in dat moet worden gebruikt voor onderhoudsbewerkingen
  • max_parallel_workers - Hiermee stelt u het maximum aantal parallelle werkrollen in dat tegelijk actief kan zijn
  • max_parallel_workers_per_gather - Hiermee stelt u het maximum aantal parallelle processen per uitvoerdersknooppunt in
  • max_pred_locks_per_page - Hiermee stelt u het maximum aantal gepredicaat vergrendelde tuples per pagina in
  • max_pred_locks_per_relation - Hiermee stelt u het maximum aantal gepredicaat vergrendelde pagina's en tuples per relatie in
  • max_standby_archive_delay - Hiermee stelt u de maximale vertraging in voordat query's worden geannuleerd wanneer een hot standby-server gearchiveerde WAL-gegevens verwerkt
  • max_standby_streaming_delay - Hiermee stelt u de maximale vertraging in voordat query's worden geannuleerd wanneer een hot standby-server gestreamde WAL-gegevens verwerkt
  • max_sync_workers_per_subscription - Maximum aantal werkrollen voor tabelsynchronisatie per abonnement
  • max_wal_size - Hiermee stelt u de WAL-grootte in waarmee een controlepunt wordt geactiveerd
  • min_parallel_index_scan_size - Hiermee stelt u de minimale hoeveelheid indexgegevens voor een parallelle scan in
  • min_wal_size - Hiermee stelt u de minimale grootte in om de WAL te verkleinen
  • operator_precedence_warning- Hiermee wordt een waarschuwing verzonden voor constructies die de betekenis hebben gewijzigd sinds PostgreSQL 9.4
  • parallel_setup_cost - Hiermee stelt u de schatting van de planner in van de kosten voor het starten van werkprocessen voor parallelle query's
  • parallel_tuple_cost - Stelt de schatting van de planner in van de kosten voor het doorgeven van elke tuple (rij) van werkrol aan de hoofdback-end
  • pg_stat_statements.save - Slaat pg_stat_statements statistieken op voor het afsluiten van servers
  • pg_stat_statements.track - Selecteert welke instructies worden bijgehouden door pg_stat_statements
  • pg_stat_statements.track_utility - Hiermee selecteert u of hulpprogrammaopdrachten worden bijgehouden door pg_stat_statements
  • quote_all_identifiers : bij het genereren van SQL-fragmenten worden alle id's aanhalingstekens aanhalingstekens weergegeven
  • random_page_cost - Hiermee stelt u de schatting van de planner in van de kosten van een niet-opeenvolgend opgehaalde schijfpagina
  • row_security - Beveiliging van rijen inschakelen
  • search_path : hiermee stelt u de zoekvolgorde voor schema's in op namen die niet volgens schema zijn gekwalificeerd
  • seq_page_cost - Hiermee stelt u de schatting van de planner in van de kosten van een sequentieel opgehaalde schijfpagina
  • session_replication_role - Hiermee stelt u het gedrag van de sessie in voor triggers en herschrijfregels
  • standard_conforming_strings - Oorzaken '...' tekenreeksen om backslashes letterlijk te behandelen
  • statement_timeout - Hiermee stelt u de maximaal toegestane duur (in milliseconden) van een willekeurige instructie in. 0 schakelt dit uit
  • synchronize_seqscans - Hiermee worden gesynchroniseerde sequentiële scans ingeschakeld
  • synchronous_commit - Hiermee stelt u het synchronisatieniveau van de huidige transactie in
  • tcp_keepalives_count - Maximum aantal TCP-keepalive-hertransmits
  • tcp_keepalives_idle - Tijd tussen het uitgeven van TCP-keepalives
  • tcp_keepalives_interval - Tijd tussen TCP keepalive-hertransmits
  • temp_buffers - Hiermee stelt u het maximum aantal tijdelijke buffers in dat door elke databasesessie wordt gebruikt
  • temp_tablespaces - Hiermee stelt u de tabelruimten in voor tijdelijke tabellen en sorteert u bestanden
  • track_activities - Verzamelt informatie over het uitvoeren van opdrachten
  • track_counts - Verzamelt statistieken over databaseactiviteit
  • track_functions - Verzamelt statistieken op functieniveau over databaseactiviteit
  • track_io_timing - Verzamelt tijdsstatistieken voor database-I/O-activiteit
  • transform_null_equals - behandelt 'expr=NULL' als 'expr IS NULL'
  • vacuum_cost_delay - Vertraging van vacuümkosten in milliseconden
  • vacuum_cost_limit - Vacuümkostenbedrag beschikbaar voor napping
  • vacuum_cost_page_dirty - Vacuümkosten voor een pagina vuil door vacuüm
  • vacuum_cost_page_hit - Vacuümkosten voor een pagina in de buffercache
  • vacuum_cost_page_miss - Vacuümkosten voor een pagina niet gevonden in de buffercache
  • vacuum_defer_cleanup_age - Aantal transacties waarmee VACUUM en HOT-opschoonbewerking moeten worden uitgesteld, indien van toepassing
  • vacuum_freeze_min_age - Minimale leeftijd waarop VACUUM een tabelrij moet blokkeren
  • vacuum_freeze_table_age - Leeftijd waarop VACUUM de hele tabel moet scannen om tuples te blokkeren
  • vacuum_multixact_freeze_min_age - Minimale leeftijd waarop VACUUM een MultiXactId in een tabelrij moet blokkeren
  • vacuum_multixact_freeze_table_age - Multixact-leeftijd waarop VACUUM de hele tabel moet scannen om tuples te blokkeren
  • wal_receiver_status_interval - Hiermee stelt u het maximale interval tussen wal-ontvangststatusrapporten in op de primaire
  • wal_writer_delay - Tijd tussen WAL flushes uitgevoerd in de WAL writer
  • wal_writer_flush_after - Hoeveelheid WAL die is geschreven door WAL Writer die een leegloop activeert
  • work_mem - Hiermee stelt u de hoeveelheid geheugen in die moet worden gebruikt door interne sorteerbewerkingen en hashtabellen voordat u naar tijdelijke schijfbestanden schrijft
  • xmlbinary - Hiermee stelt u in hoe binaire waarden moeten worden gecodeerd in XML
  • xmloption : hiermee stelt u in of XML-gegevens in impliciete parserings- en serialisatiebewerkingen moeten worden beschouwd als documenten of inhoudsfragmenten

Volgende stappen