Freigeben über


Verteilte SQL-API von Azure Cosmos DB for PostgreSQL

Von Bedeutung

Azure Cosmos DB für PostgreSQL wird für neue Projekte nicht mehr unterstützt. Verwenden Sie diesen Dienst nicht für neue Projekte. Verwenden Sie stattdessen einen der folgenden beiden Dienste:

Azure Cosmos DB for PostgreSQL enthält mehr Features als die Standardversion von PostgreSQL. Im Folgenden finden Sie eine kategorisierte Referenz zu Funktionen und Konfigurationsoptionen für:

  • Parallelisieren der Abfrageausführung über Shards hinweg
  • Verwalten von horizontal partitionieren Daten zwischen mehreren Servern
  • Komprimieren von Daten mithilfe von spaltenbasiertem Speicher
  • Automatisieren der Partitionierung von Zeitreihen

SQL-Funktionen

Sharding (Horizontales Partitionieren)

Name BESCHREIBUNG
alter_distributed_table Ändert die Verteilungsspalte, die Shardanzahl oder Colocationeigenschaften einer verteilten Tabelle.
citus_copy_shard_placement Repariert eine inaktive Shardplatzierung mithilfe von Daten aus einer fehlerfreien Platzierung.
citus_schema_distribute Umwandeln eines PostgreSQL-Schemas in ein verteiltes Schema
citus_schema_undistribute Rückgängigmachen der Aktion von citus_schema_distribute
create_distributed_table Wandelt eine PostgreSQL-Tabelle in eine verteilte Tabelle (Shardtabelle) um.
create_reference_table Verwaltet vollständige Kopien einer Tabelle auf allen Knoten synchron.
citus_add_local_table_to_metadata Hinzufügen einer lokalen Tabelle zu Metadaten zum Aktivieren der Abfrage von einem beliebigen Knoten
isolate_tenant_to_new_shard Erstellt einen neuen Shard, der Zeilen mit einem bestimmten einzelnen Wert in der Verteilungsspalte enthält.
truncate_local_data_after_distributing_table Schneidet alle lokalen Zeilen nach dem Verteilen einer Tabelle ab.
undistribute_table Macht die Aktion von create_distributed_table oder create_reference_table rückgängig.

Shardausgleich

Name BESCHREIBUNG
citus_add_rebalance_strategy Fügt eine Zeile an pg_dist_rebalance_strategy an.
citus_move_shard_placement Wird in der Regel indirekt beim Shardausgleich verwendet, anstatt direkt von einem Datenbankadministrator aufgerufen zu werden.
citus_set_default_rebalance_strategy Ändert die Strategie, die durch das Argument benannt wird, so, dass sie beim erneuten Ausgleich von Shards als Standard ausgewählt wird.
get_rebalance_progress Überwacht die geplanten und von rebalance_table_shards ausgeführten Verschiebungen.
get_rebalance_table_shards_plan Gibt die geplanten Shardbewegungen von rebalance_table_shards aus, ohne sie auszuführen.
rebalance_table_shards Verschiebt Shards der angegebenen Tabelle, um sie gleichmäßig auf die Worker zu verteilen.

Zusammenstellung

Name BESCHREIBUNG
create_distributed_function Führt die Funktion auf Workern in der Nähe von Shards aus, die Colocation aufweisen.
update_distributed_table_colocation Aktualisiert oder unterbricht die Colocation einer verteilten Tabelle.

Spaltenbasierter Speicher

Name BESCHREIBUNG
alter_columnar_table_set Ändert die Einstellungen für eine spaltenbasierte Tabelle.
alter_table_set_access_method Konvertiert eine Tabelle zwischen Heapspeicher oder spaltenbasiertem Speicher.

Partitionierung von Zeitreihen

Name BESCHREIBUNG
alter_old_partitions_set_access_method Ändert die Speichermethode von Partitionen.
create_time_partitions Erstellt Partitionen eines bestimmten Intervalls, um einen bestimmten Zeitraum abzudecken.
drop_old_time_partitions Entfernt alle Partitionen, deren Intervalle vor einen bestimmten Zeitstempel fallen.

Informational

Name BESCHREIBUNG
citus_get_active_worker_nodes Ruft aktive Workerhostnamen und Portnummern ab.
citus_relation_size Ruft den von allen Shards der angegebenen verteilten Tabelle verwendeten Speicherplatz auf dem Datenträger ab.
citus_remote_connection_stats Zeigt die Anzahl aktiver Verbindungen mit jedem Remoteknoten an.
citus_stat_statements_reset Entfernt alle Zeilen aus citus_stat_statements.
citus_table_size Ruft den von allen Shards der angegebenen verteilten Tabelle verwendeten Speicherplatz auf dem Datenträger ab (mit Ausnahme von Indizes).
citus_total_relation_size Ruft den Speicherplatz auf dem Datenträger ab, der von allen Shards der angegebenen verteilten Tabelle verwendet wird, einschließlich aller Indizes und TOAST-Daten.
column_to_column_name Übersetzt die partkey-Spalte von pg_dist_partition in einen Textspaltennamen.
get_shard_id_for_distribution_column Sucht die Shard-ID, die einem Wert der Verteilungsspalte zugeordnet ist.

Serverparameter

Abfrageausführung

Name BESCHREIBUNG
citus.all_modifications_commutative Lässt zu, dass alle Befehle eine freigegebene Sperre beanspruchen.
citus.count_distinct_error_rate Optimiert die Fehlerrate der ungefähren Zählung von postgresql-hll.
citus.enable_repartition_joins Lässt JOINs für Nichtverteilungsspalten zu.
citus.enable_repartitioned_insert_select Lässt die Neupartitionierung von Zeilen aus der SELECT-Anweisung und deren Übertragung zwischen Workern zum Einfügen zu.
citus.limit_clause_row_fetch_count Die Anzahl der Zeilen, die pro Task für die Optimierung der limit-Klausel abgerufen werden.
citus.local_table_join_policy Gibt an, wohin Daten verschoben werden, wenn ein Join zwischen lokalen und verteilten Tabellen erfolgt.
citus.multi_shard_commit_protocol Das Commitprotokoll, das beim Ausführen von COPY für eine Tabelle mit Hashverteilung verwendet werden soll.
citus.propagate_set_commands Gibt an, welche SET-Befehle vom Koordinator an die Worker propagiert werden.
citus.create_object_propagation Verhalten von Erstellungsanweisungen in Transaktionen für unterstützte Objekte
citus.use_citus_managed_tables Zulassen, dass auf lokale Tabellen in Workerknotenabfragen zugegriffen werden kann

Informational

Name BESCHREIBUNG
citus.explain_all_tasks Bewirkt, dass die EXPLAIN-Ausgabe alle Tasks anzeigt.
citus.explain_analyze_sort_method Sortiermethode der Tasks in der Ausgabe von EXPLAIN ANALYZE.
citus.log_remote_commands Protokolliert Abfragen, die der Koordinator an Workerknoten sendet.
citus.multi_task_query_log_level Protokollebene für jede Abfrage, die mehrere Tasks generiert.
citus.stat_statements_max Maximale Anzahl von Zeilen, die in citus_stat_statements gespeichert werden sollen.
citus.stat_statements_purge_interval Häufigkeit, mit der der Wartungdaemon Datensätze aus citus_stat_statements entfernt, für die in pg_stat_statements keine Übereinstimmung vorliegt.
citus.stat_statements_track Aktiviert/Deaktiviert Anweisungsnachverfolgung.
citus.show_shards_for_app_name_prefixes Ermöglicht es Shards, für ausgewählte Clients anzuzeigen, die sie anzeigen möchten
citus.override_table_visibility Aktivieren/Deaktivieren des Shard-Ausblendens

Knotenübergreifende Verbindungsverwaltung

Name BESCHREIBUNG
citus.executor_slow_start_interval Wartezeit in Millisekunden zwischen dem Öffnen von Verbindungen mit demselben Workerknoten.
citus.force_max_query_parallelization Öffnet so viele Verbindungen wie möglich.
citus.max_adaptive_executor_pool_size Maximale Anzahl von Workerverbindungen pro Sitzung.
citus.max_cached_conns_per_worker Anzahl von Verbindungen, die geöffnet bleiben, um nachfolgende Befehle zu beschleunigen.
citus.node_connection_timeout Maximale Dauer (in Millisekunden) für das Warten auf die Verbindungsherstellung.

Datenübertragung

Name BESCHREIBUNG
citus.enable_binary_protocol Verwendet das binäre Serialisierungsformat von PostgreSQL (falls zutreffend) zum Übertragen von Daten mit Workern.
citus.max_intermediate_result_size Größe in KB von Zwischenergebnissen für CTEs und Unterabfragen, die nicht nach unten gepusht werden können.

Deadlock

Name BESCHREIBUNG
citus.distributed_deadlock_detection_factor Legt die Wartezeit bis zur Suche nach verteilten Deadlocks fest.
citus.log_distributed_deadlock_detection Gibt an, ob die Verarbeitung verteilter Deadlockerkennungen im Serverprotokoll protokolliert werden soll.

Systemtabellen

Der Koordinatorknoten enthält Metadatentabellen und -sichten, mit deren Hilfe Sie Dateneigenschaften und Abfrageaktivitäten im Cluster anzeigen können.

Name BESCHREIBUNG
citus_dist_stat_activity Verteilte Abfragen, die auf allen Knoten ausgeführt werden.
citus_lock_waits Blockierte Abfragen im gesamten Cluster
citus_shards Der Speicherort jedes Shards, der Typ der Tabelle, zu der er gehört, und seine Größe.
citus_stat_statements Statistiken dazu, wie und für wen Abfragen ausgeführt werden.
citus_tables Zusammenfassung aller verteilten Tabellen und Verweistabellen.
citus_worker_stat_activity Abfragen für Worker, einschließlich Tasks für einzelne Shards.
pg_dist_colocation Gibt Shards der Tabellen an, die zusammen platziert werden sollen.
pg_dist_node Informationen zu Workerknoten im Cluster
pg_dist_node Objekte, z. B. von Typen und Funktionen, die auf dem Koordinatorknoten erstellt und an Workerknoten weitergegeben wurden.
pg_dist_placement Der Speicherort von Shardreplikaten auf Workerknoten.
pg_dist_rebalance_strategy Strategien, die rebalance_table_shards verwenden kann, um zu bestimmen, wohin Shards verschoben werden sollen.
pg_dist_shard Tabelle, Verteilungsspalte und Wertbereiche für jeden Shard.
time_partitions Informationen zu jeder Partition, die von Funktionen wie create_time_partitions und drop_old_time_partitions verwaltet wird.

Nächste Schritte