Dela via


Distribuerat SQL API för Azure Cosmos DB for PostgreSQL

Viktigt!

Azure Cosmos DB for PostgreSQL stöds inte längre för nya projekt. Använd inte den här tjänsten för nya projekt. Använd i stället en av dessa två tjänster:

Azure Cosmos DB for PostgreSQL innehåller fler funktioner än Standard PostgreSQL. Nedan visas en kategoriserad referens för funktioner och konfigurationsalternativ för:

  • Parallellisera frågekörning mellan olika shards
  • Hantera horisontellt partitionerade data mellan flera servrar
  • Komprimera data med kolumnbaserad lagring
  • Automatisera partitionering med tidsserie

SQL-funktioner

Horisontell partitionering

Name beskrivning
alter_distributed_table Ändra distributionskolumnen, shardantalet eller samlokaliseringsegenskaperna för en distribuerad tabell
citus_copy_shard_placement Reparera en inaktiv shardplacering med hjälp av data från en felfri placering
citus_schema_distribute Omvandla ett PostgreSQL-schema till ett distribuerat schema
citus_schema_undistribute Ångra åtgärden för citus_schema_distribute
create_distributed_table Omvandla en PostgreSQL-tabell till en distribuerad tabell (fragmenterad)
create_reference_table Underhålla fullständiga kopior av en tabell som är synkroniserad över alla noder
citus_add_local_table_to_metadata Lägg till en lokal tabell i metadata så att du kan köra frågor mot den från valfri nod
isolate_tenant_to_new_shard Skapa en ny shard för att lagra rader med ett specifikt enskilt värde i distributionskolumnen
truncate_local_data_after_distributing_table Trunkera alla lokala rader när du har distribuerat en tabell
undistribute_table Ångra åtgärden för create_distributed_table eller create_reference_table

Ombalansering av shard

Name beskrivning
citus_add_rebalance_strategy Lägg till en rad i pg_dist_rebalance_strategy
citus_move_shard_placement Används vanligtvis indirekt under horisontell ombalansering i stället för att anropas direkt av en databasadministratör
citus_set_default_rebalance_strategy Ändra den strategi som namnges av argumentet så att den är standardinställningen som väljs vid ombalansering av shards
get_rebalance_progress Övervaka de flyttningar som planeras och körs av rebalance_table_shards
get_rebalance_table_shards_plan Mata ut planerade fragmentförflyttningar av rebalance_table_shards utan att utföra dem
rebalance_table_shards Flytta fragment i den angivna tabellen för att fördela dem jämnt mellan arbetarna

Samlokalisering

Name beskrivning
create_distributed_function Gör så att funktionen körs på arbetare nära samlokaliserade shards
update_distributed_table_colocation Uppdatera eller avbryta samlokalisering av en distribuerad tabell

Columnar Storage

Name beskrivning
alter_columnar_table_set Ändra inställningar i en kolumntabell
alter_table_set_access_method Konvertera en tabell mellan heap- eller columnar-lagring

Partitionering av tidsserier

Name beskrivning
alter_old_partitions_set_access_method Ändra lagringsmetod för partitioner
create_time_partitions Skapa partitioner med ett visst intervall för att täcka ett angivet tidsintervall
drop_old_time_partitions Ta bort alla partitioner vars intervall faller före en viss tidsstämpel

Information

Name beskrivning
citus_get_active_worker_nodes Hämta active worker-värdnamn och portnummer
citus_relation_size Hämta diskutrymme som används av alla shards i den angivna distribuerade tabellen
citus_remote_connection_stats Visa antalet aktiva anslutningar till varje fjärrnod
citus_stat_statements_reset Ta bort alla rader från citus_stat_statements
citus_table_size Hämta diskutrymme som används av alla shards i den angivna distribuerade tabellen, exklusive index
citus_total_relation_size Hämta totalt diskutrymme som används av alla shards i den angivna distribuerade tabellen, inklusive alla index och TOAST-data
column_to_column_name Översätta kolumnen partkey i pg_dist_partition till ett textkolumnnamn
get_shard_id_for_distribution_column Hitta det shard-ID som är associerat med ett värde för distributionskolumnen

Serverparametrar

Frågekörning

Name beskrivning
citus.all_modifications_commutative Tillåt att alla kommandon gör anspråk på ett delat lås
citus.count_distinct_error_rate Justera felfrekvensen för ungefärlig postgresql-hll-räkning
citus.enable_repartition_joins Tillåt JON som görs på icke-distributionskolumner
citus.enable_repartitioned_insert_select Tillåt ompartitionering av rader från SELECT-instruktionen och överföra dem mellan arbetare för infogning
citus.limit_clause_row_fetch_count Antalet rader som ska hämtas per uppgift för optimering av gränssatser
citus.local_table_join_policy Där data flyttas när du gör en koppling mellan lokala och distribuerade tabeller
citus.multi_shard_commit_protocol Incheckningsprotokollet som ska användas vid kopiering på en hash-distribuerad tabell
citus.propagate_set_commands Vilka SET-kommandon sprids från koordinatorn till arbetare
citus.create_object_propagation Beteende för CREATE-instruktioner i transaktioner för objekt som stöds
citus.use_citus_managed_tables Tillåt att lokala tabeller nås i arbetsnodfrågor

Information

Name beskrivning
citus.explain_all_tasks Gör så att EXPLAIN-utdata visar alla uppgifter
citus.explain_analyze_sort_method Sorteringsmetod för aktiviteterna i utdata från EXPLAIN ANALYZE
citus.log_remote_commands Loggfrågor som koordinatorn skickar till arbetsnoder
citus.multi_task_query_log_level Loggnivå för alla frågor som genererar mer än en uppgift
citus.stat_statements_max Maximalt antal rader att lagra i citus_stat_statements
citus.stat_statements_purge_interval Frekvens med vilken underhållsdaemonen tar bort poster från citus_stat_statements som inte är matchade i pg_stat_statements
citus.stat_statements_track Aktivera/inaktivera instruktionsspårning
citus.show_shards_for_app_name_prefixes Tillåter att shards visas för valda klienter som vill se dem
citus.override_table_visibility Aktivera/inaktivera shard-döljning

Anslutningshantering mellan noder

Name beskrivning
citus.executor_slow_start_interval Tid att vänta i millisekunder mellan att öppna anslutningar till samma arbetsnod
citus.force_max_query_parallelization Öppna så många anslutningar som möjligt
citus.max_adaptive_executor_pool_size Maximalt antal arbetsanslutningar per session
citus.max_cached_conns_per_worker Antal anslutningar som hålls öppna för att påskynda efterföljande kommandon
citus.node_connection_timeout Maximal varaktighet (i millisekunder) för att vänta på anslutningsetablering

Dataöverföring

Name beskrivning
citus.enable_binary_protocol Använd PostgreSQL:s binära serialiseringsformat (om tillämpligt) för att överföra data med arbetare
citus.max_intermediate_result_size Storlek i KB för mellanliggande resultat för CTE:er och underfrågor som inte kan tryckas ned

Dödläge

Name beskrivning
citus.distributed_deadlock_detection_factor Tid att vänta innan du söker efter distribuerade dödlägen
citus.log_distributed_deadlock_detection Om distribuerad identifiering av dödläge ska loggas i serverloggen

Systemtabeller

Koordinatornoden innehåller metadatatabeller och vyer som hjälper dig att se dataegenskaper och frågeaktivitet i klustret.

Name beskrivning
citus_dist_stat_activity Distribuerade frågor som körs på alla noder
citus_lock_waits Frågor blockerade i hela klustret
citus_shards Platsen för varje shard, vilken typ av tabell den tillhör och dess storlek
citus_stat_statements Statistik om hur frågor körs och för vem
citus_tables En sammanfattning av alla distribuerade tabeller och referenstabeller
citus_worker_stat_activity Frågor om arbetare, inklusive uppgifter på enskilda shards
pg_dist_colocation Vilka tabellers fragment ska placeras tillsammans
pg_dist_node Information om arbetsnoder i klustret
pg_dist_object Objekt som typer och funktioner som har skapats på koordinatornoden och spridits till arbetsnoder
pg_dist_placement Platsen för shardrepliker på arbetsnoder
pg_dist_rebalance_strategy Strategier som rebalance_table_shards kan användas för att avgöra var shards ska flyttas
pg_dist_shard Tabellen, distributionskolumnen och värdeintervallen för varje shard
time_partitions Information om varje partition som hanteras av sådana funktioner som create_time_partitions och drop_old_time_partitions

Nästa steg