Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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:
Använd Azure Cosmos DB för NoSQL för en distribuerad databaslösning som är utformad för storskaliga scenarier med ett serviceavtal på 99,999% tillgänglighet , omedelbar autoskalning och automatisk redundans i flera regioner.
Använd funktionen Elastiska kluster i Azure Database For PostgreSQL för fragmenterad PostgreSQL med citus-tillägget med öppen källkod.
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
- Lär dig några användbara diagnostikfrågor
- Granska listan med konfigurationsparametrar i den underliggande PostgreSQL-databasen.