Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
Verwenden Sie Azure Cosmos DB für NoSQL für eine verteilte Datenbanklösung, die für hochskalige Szenarien mit einem 99,999% Verfügbarkeit service Level Agreement (SLA), einer sofortigen Autoskalierung und einem automatischen Failover in mehreren Regionen entwickelt wurde.
Verwenden Sie das Elastic Clusters-Feature von Azure Database For PostgreSQL für sharded PostgreSQL mithilfe der Open-Source-Citus-Erweiterung.
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
- Erfahren Sie mehr über hilfreiche Diagnoseabfragen
- Überprüfen Sie die Liste der Konfigurationsparameter in der zugrunde liegenden PostgreSQL-Datenbank.