Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Azure Cosmos DB for PostgreSQL wordt niet meer ondersteund voor nieuwe projecten. Gebruik deze service niet voor nieuwe projecten. Gebruik in plaats daarvan een van deze twee services:
Gebruik Azure Cosmos DB voor NoSQL voor een gedistribueerde databaseoplossing die is ontworpen voor grootschalige scenario's met% een SLA (Availability Service Level Agreement), directe automatische schaalaanpassing en automatische failover in meerdere regio's.
Gebruik de functie Elastische clusters van Azure Database For PostgreSQL voor sharded PostgreSQL met behulp van de opensource Citus-extensie.
Azure Cosmos DB for PostgreSQL bevat functies die verder gaan dan standaard PostgreSQL. Hieronder ziet u een gecategoriseerde verwijzing naar functies en configuratieopties voor:
- Parallelle uitvoering van query's in shards
- Shard-gegevens tussen meerdere servers beheren
- Gegevens comprimeren met kolomopslag
- Timeseries partitioneren automatiseren
SQL-functies
Sharding
| Name | Beschrijving |
|---|---|
| alter_distributed_table | De eigenschappen van de distributiekolom, het aantal shards of de colocatie van een gedistribueerde tabel wijzigen |
| citus_copy_shard_placement | Een inactieve shardplaatsing herstellen met behulp van gegevens van een gezonde plaatsing |
| citus_schema_distribute | Een PostgreSQL-schema omzetten in een gedistribueerd schema |
| citus_schema_undistribute | De actie van citus_schema_distribute ongedaan maken |
| create_distributed_table | Een PostgreSQL-tabel omzetten in een gedistribueerde (shard-) tabel |
| create_reference_table | Volledige kopieën van een tabel synchroon houden op alle knooppunten |
| citus_add_local_table_to_metadata | Een lokale tabel toevoegen aan metagegevens om query's uit te voeren vanaf elk knooppunt |
| isolate_tenant_to_new_shard | Een nieuwe shard maken voor het opslaan van rijen met één specifieke waarde in de distributiekolom |
| truncate_local_data_after_distributing_table | Alle lokale rijen afkappen na het distribueren van een tabel |
| undistribute_table | De actie van create_distributed_table of create_reference_table ongedaan maken |
Shard opnieuw verdelen
| Name | Beschrijving |
|---|---|
| citus_add_rebalance_strategy | Een rij toevoegen aan pg_dist_rebalance_strategy |
| citus_move_shard_placement | Doorgaans indirect gebruikt tijdens het opnieuw verdelen van shards in plaats van rechtstreeks aan te roepen door een databasebeheerder |
| citus_set_default_rebalance_strategy | Wijzig de strategie met de naam van het argument in de standaardinstelling die wordt gekozen bij het opnieuw verdelen van shards |
| get_rebalance_progress | De geplande en uitgevoerde verplaatsingen bewaken door rebalance_table_shards |
| get_rebalance_table_shards_plan | De geplande shardverplaatsingen van rebalance_table_shards uitvoeren zonder ze uit te voeren |
| rebalance_table_shards | Shards van de opgegeven tabel verplaatsen om ze gelijkmatig over de werkrollen te verdelen |
Colocatie
| Name | Beschrijving |
|---|---|
| create_distributed_function | Functie uitvoeren op werkrollen in de buurt van shards met een punt |
| update_distributed_table_colocation | Colocatie van een gedistribueerde tabel bijwerken of verbreken |
Kolomopslag
| Name | Beschrijving |
|---|---|
| alter_columnar_table_set | Instellingen voor een kolomtabel wijzigen |
| alter_table_set_access_method | Een tabel tussen heap- of kolomopslag converteren |
Partitionering van tijdreeksen
| Name | Beschrijving |
|---|---|
| alter_old_partitions_set_access_method | Opslagmethode van partities wijzigen |
| create_time_partitions | Partities van een bepaald interval maken om een bepaald tijdsbereik te dekken |
| drop_old_time_partitions | Verwijder alle partities waarvan de intervallen vóór een bepaalde tijdstempel vallen |
Informatief
| Name | Beschrijving |
|---|---|
| citus_get_active_worker_nodes | Actieve werkrolhostnamen en poortnummers ophalen |
| citus_relation_size | Schijfruimte ophalen die wordt gebruikt door alle shards van de opgegeven gedistribueerde tabel |
| citus_remote_connection_stats | Het aantal actieve verbindingen met elk extern knooppunt weergeven |
| citus_stat_statements_reset | Alle rijen verwijderen uit citus_stat_statements |
| citus_table_size | Schijfruimte ophalen die wordt gebruikt door alle shards van de opgegeven gedistribueerde tabel, met uitzondering van indexen |
| citus_total_relation_size | Totale schijfruimte ophalen die wordt gebruikt door de alle shards van de opgegeven gedistribueerde tabel, inclusief alle indexen en TOAST-gegevens |
| column_to_column_name |
partkey De kolom vertalen pg_dist_partition in een tekstuele kolomnaam |
| get_shard_id_for_distribution_column | De shard-id zoeken die is gekoppeld aan een waarde van de distributiekolom |
Serverparameters
Queryuitvoering
| Name | Beschrijving |
|---|---|
| citus.all_modifications_commutative | Alle opdrachten toestaan om een gedeelde vergrendeling te claimen |
| citus.count_distinct_error_rate | Foutpercentage van postgresql-hll geschatte telling afstemmen |
| citus.enable_repartition_joins | JOIN's toestaan die zijn gemaakt op niet-distributiekolommen |
| citus.enable_repartitioned_insert_select | Het opnieuw partitioneren van rijen vanuit de SELECT-instructie toestaan en deze overbrengen tussen werkrollen voor invoeging |
| citus.limit_clause_row_fetch_count | Het aantal rijen dat per taak moet worden opgehaald voor optimalisatie van limietcomponenten |
| citus.local_table_join_policy | Waar gegevens worden verplaatst bij het uitvoeren van een join tussen lokale en gedistribueerde tabellen |
| citus.multi_shard_commit_protocol | Het doorvoerprotocol dat moet worden gebruikt bij het uitvoeren van COPY op een gedistribueerde hash-tabel |
| citus.propagate_set_commands | Welke SET-opdrachten worden doorgegeven van de coördinator aan werknemers |
| citus.create_object_propagation | Gedrag van CREATE-instructies in transacties voor ondersteunde objecten |
| citus.use_citus_managed_tables | Toestaan dat lokale tabellen worden geopend in werkknooppuntquery's |
Informatief
| Name | Beschrijving |
|---|---|
| citus.explain_all_tasks | Uitleg-uitvoer weergeven van alle taken |
| citus.explain_analyze_sort_method | Sorteermethode van de taken in de uitvoer van EXPLAIN ANALYZE |
| citus.log_remote_commands | Logboekquery's die de coördinator verzendt naar werkknooppunten |
| citus.multi_task_query_log_level | Logboekniveau voor elke query die meer dan één taak genereert |
| citus.stat_statements_max | Maximum aantal rijen dat moet worden opgeslagen in citus_stat_statements |
| citus.stat_statements_purge_interval | Frequentie waarmee de onderhoudsdaemon records verwijdert waaruit citus_stat_statements niet-overeenkomende records worden verwijderd pg_stat_statements |
| citus.stat_statements_track | Instructie bijhouden in- of uitschakelen |
| citus.show_shards_for_app_name_prefixes | Hiermee kunnen shards worden weergegeven voor geselecteerde clients die ze willen zien |
| citus.override_table_visibility | Shard-verbergen in-/uitschakelen |
Verbindingsbeheer tussen knooppunten
| Name | Beschrijving |
|---|---|
| citus.executor_slow_start_interval | Tijd om te wachten in milliseconden tussen het openen van verbindingen met hetzelfde werkknooppunt |
| citus.force_max_query_parallelization | Zoveel mogelijk verbindingen openen |
| citus.max_adaptive_executor_pool_size | Maximum aantal werkrolverbindingen per sessie |
| citus.max_cached_conns_per_worker | Aantal verbindingen bleef open om de volgende opdrachten te versnellen |
| citus.node_connection_timeout | Maximale duur (in milliseconden) om te wachten tot de verbinding tot stand is gebracht |
Gegevensoverdracht
| Name | Beschrijving |
|---|---|
| citus.enable_binary_protocol | De binaire serialisatie-indeling van PostgreSQL gebruiken (indien van toepassing) om gegevens over te dragen met werkrollen |
| citus.max_intermediate_result_size | Grootte in kB van tussenliggende resultaten voor CTE's en subquery's die niet kunnen worden gepusht |
Impasse
| Name | Beschrijving |
|---|---|
| citus.distributed_deadlock_detection_factor | Tijd om te wachten voordat wordt gecontroleerd op gedistribueerde impasses |
| citus.log_distributed_deadlock_detection | Of gedistribueerde detectie van impassedetectie in het serverlogboek moet worden vastgelegd |
Systeemtabellen
Het coördinatorknooppunt bevat metagegevenstabellen en weergaven om u te helpen bij het bekijken van gegevenseigenschappen en queryactiviteit in het cluster.
| Name | Beschrijving |
|---|---|
| citus_dist_stat_activity | Gedistribueerde query's die worden uitgevoerd op alle knooppunten |
| citus_lock_waits | Query's die in het hele cluster zijn geblokkeerd |
| citus_shards | De locatie van elke shard, het type tabel waartoe deze behoort en de grootte |
| citus_stat_statements | Statistieken over hoe query's worden uitgevoerd en voor wie |
| citus_tables | Een samenvatting van alle gedistribueerde en referentietabellen |
| citus_worker_stat_activity | Query's op werkrollen, inclusief taken voor afzonderlijke shards |
| pg_dist_colocation | Welke shards van tabellen samen moeten worden geplaatst |
| pg_dist_node | Informatie over werkknooppunten in het cluster |
| pg_dist_object | Objecten zoals typen en functies die zijn gemaakt op het coördinatorknooppunt en worden doorgegeven aan werkknooppunten |
| pg_dist_placement | De locatie van shardreplica's op werkknooppunten |
| pg_dist_rebalance_strategy | Strategieën die rebalance_table_shards kunnen worden gebruikt om te bepalen waar shards moeten worden verplaatst |
| pg_dist_shard | De tabel, distributiekolom en waardebereiken voor elke shard |
| time_partitions | Informatie over elke partitie die wordt beheerd door functies zoals create_time_partitions en drop_old_time_partitions |
Volgende stappen
- Enkele nuttige diagnostische query's leren
- Bekijk de lijst met configuratieparameters in de onderliggende PostgreSQL-database.