Rozproszony interfejs API SQL usługi Azure Cosmos DB for PostgreSQL
DOTYCZY: Usługa Azure Cosmos DB for PostgreSQL (obsługiwana przez rozszerzenie bazy danych Citus do bazy danych PostgreSQL)
Usługa Azure Cosmos DB for PostgreSQL obejmuje funkcje wykraczające poza standardową bazę danych PostgreSQL. Poniżej znajduje się odwołanie do kategorii funkcji i opcji konfiguracji dla:
- Równoległe wykonywanie zapytań między fragmentami
- Zarządzanie danymi podzielonymi na fragmenty między wieloma serwerami
- Kompresowanie danych za pomocą magazynu kolumnowego
- Automatyzowanie partycjonowania szeregów czasowych
Funkcje SQL
Dzielenie na fragmenty
Nazwa/nazwisko | opis |
---|---|
alter_distributed_table | Zmienianie kolumny dystrybucji, liczby fragmentów lub właściwości kolokacji tabeli rozproszonej |
citus_copy_shard_placement | Naprawianie nieaktywnego umieszczania fragmentów przy użyciu danych z umieszczania w dobrej kondycji |
citus_schema_distribute | Przekształcanie schematu postgreSQL w schemat rozproszony |
citus_schema_undistribute | Cofnij akcję citus_schema_distribute |
create_distributed_table | Przekształcanie tabeli PostgreSQL w tabelę rozproszoną (podzieloną na fragmenty) |
create_reference_table | Obsługa pełnych kopii tabeli w synchronizacji we wszystkich węzłach |
citus_add_local_table_to_metadata | Dodawanie tabeli lokalnej do metadanych w celu włączenia wykonywania zapytań względem niej z dowolnego węzła |
isolate_tenant_to_new_shard | Tworzenie nowego fragmentu do przechowywania wierszy z określoną pojedynczą wartością w kolumnie dystrybucji |
truncate_local_data_after_distributing_table | Obcinanie wszystkich wierszy lokalnych po dystrybucji tabeli |
undistribute_table | Cofnij akcję create_distributed_table lub create_reference_table |
Ponowne równoważenie fragmentów
Nazwa/nazwisko | opis |
---|---|
citus_add_rebalance_strategy | Dołączanie wiersza do pg_dist_rebalance_strategy |
citus_move_shard_placement | Zazwyczaj używane pośrednio podczas ponownego równoważenia fragmentu zamiast wywoływanego bezpośrednio przez administratora bazy danych |
citus_set_default_rebalance_strategy | Zmień strategię o nazwie według argumentu na wartość domyślną wybraną podczas ponownego równoważenia fragmentów |
get_rebalance_progress | Monitorowanie planowanych i wykonywanych przez nie ruchów rebalance_table_shards |
get_rebalance_table_shards_plan | Wyprowadza planowane ruchy fragmentów rebalance_table_shards bez ich wykonywania |
rebalance_table_shards | Przenoszenie fragmentów danej tabeli w celu równomiernego rozłożenia ich między procesami roboczymi |
Colocation (Kolokacja)
Nazwa/nazwisko | opis |
---|---|
create_distributed_function | Uruchamianie funkcji dla procesów roboczych w pobliżu kolokowanych fragmentów |
update_distributed_table_colocation | Aktualizowanie lub przerywanie kolokacji tabeli rozproszonej |
Magazyn kolumnowy
Nazwa/nazwisko | opis |
---|---|
alter_columnar_table_set | Zmienianie ustawień w tabeli kolumnowej |
alter_table_set_access_method | Konwertowanie tabeli między magazynem stertowym lub kolumnowym |
Partycjonowanie czasowników
Nazwa/nazwisko | opis |
---|---|
alter_old_partitions_set_access_method | Zmiana metody przechowywania partycji |
create_time_partitions | Tworzenie partycji danego interwału w celu pokrycia danego zakresu czasu |
drop_old_time_partitions | Usuń wszystkie partycje, których interwały spadną przed danym znacznikiem czasu |
Informacyjny
Nazwa/nazwisko | opis |
---|---|
citus_get_active_worker_nodes | Uzyskiwanie aktywnych nazw hostów procesu roboczego i numerów portów |
citus_relation_size | Pobieranie miejsca na dysku używanego przez wszystkie fragmenty określonej tabeli rozproszonej |
citus_remote_connection_stats | Pokaż liczbę aktywnych połączeń z każdym węzłem zdalnym |
citus_stat_statements_reset | Usuń wszystkie wiersze z citus_stat_statements |
citus_table_size | Pobieranie miejsca na dysku używanego przez wszystkie fragmenty określonej tabeli rozproszonej, z wyłączeniem indeksów |
citus_total_relation_size | Pobieranie całkowitego miejsca na dysku używanego przez wszystkie fragmenty określonej tabeli rozproszonej, w tym wszystkie indeksy i dane TOAST |
column_to_column_name | Tłumaczenie kolumny pg_dist_partition na partkey nazwę kolumny tekstowej |
get_shard_id_for_distribution_column | Znajdowanie identyfikatora fragmentu skojarzonego z wartością kolumny dystrybucji |
Parametry serwera
Wykonywanie zapytania
Nazwa/nazwisko | opis |
---|---|
citus.all_modifications_commutative | Zezwalaj wszystkim poleceniom na oświadczenia blokady udostępnionej |
citus.count_distinct_error_rate | Dostrajanie współczynnika błędów dla przybliżonego zliczania postgresql-hll |
citus.enable_repartition_joins | Zezwalaj na numery JOIN utworzone w kolumnach niezwiązanych z dystrybucją |
citus.enable_repartitioned_insert_select | Zezwalaj na ponowne partycjonowanie wierszy z instrukcji SELECT i przesyłanie ich między procesami roboczymi w celu wstawiania |
citus.limit_clause_row_fetch_count | Liczba wierszy do pobrania na zadanie na potrzeby optymalizacji klauzuli limitu |
citus.local_table_join_policy | Gdzie dane są przesuwane podczas łączenia między tabelami lokalnymi i rozproszonymi |
citus.multi_shard_commit_protocol | Protokół zatwierdzania używany podczas wykonywania kopiowania w tabeli rozproszonej skrótu |
citus.propagate_set_commands | Które polecenia SET są propagowane z koordynatora do procesów roboczych |
citus.create_object_propagation | Zachowanie instrukcji CREATE w transakcjach dla obsługiwanych obiektów |
citus.use_citus_managed_tables | Zezwalaj na dostęp do tabel lokalnych w zapytaniach węzłów procesu roboczego |
Informacyjny
Nazwa/nazwisko | opis |
---|---|
citus.explain_all_tasks | Pokaż wszystkie zadania wyjściowe WYJAŚNI |
citus.explain_analyze_sort_method | Sortuj metodę zadań w danych wyjściowych funkcji EXPLAIN ANALYZE |
citus.log_remote_commands | Zapytania dziennika wysyłane przez koordynatora do węzłów roboczych |
citus.multi_task_query_log_level | Poziom dziennika dla każdego zapytania, które generuje więcej niż jedno zadanie |
citus.stat_statements_max | Maksymalna liczba wierszy do przechowywania w citus_stat_statements |
citus.stat_statements_purge_interval | Częstotliwość, z jaką demon konserwacji usuwa rekordy z citus_stat_statements niedopasowanych w pg_stat_statements |
citus.stat_statements_track | Włączanie/wyłączanie śledzenia instrukcji |
citus.show_shards_for_app_name_prefixes | Umożliwia wyświetlanie fragmentów dla wybranych klientów, którzy chcą je wyświetlić |
citus.override_table_visibility | Włączanie/wyłączanie ukrywania fragmentów |
Zarządzanie połączeniami między węzłami
Nazwa/nazwisko | opis |
---|---|
citus.executor_slow_start_interval | Czas oczekiwania w milisekundach między otwarciem połączeń z tym samym węzłem procesu roboczego |
citus.force_max_query_parallelization | Otwieranie jak największej liczby połączeń |
citus.max_adaptive_executor_pool_size | Maksymalna liczba połączeń procesów roboczych na sesję |
citus.max_cached_conns_per_worker | Liczba otwartych połączeń w celu przyspieszenia kolejnych poleceń |
citus.node_connection_timeout | Maksymalny czas trwania (w milisekundach) oczekiwania na utworzenie połączenia |
Przenoszenie danych
Nazwa/nazwisko | opis |
---|---|
citus.enable_binary_protocol | Transfer danych z procesami roboczymi przy użyciu formatu serializacji binarnej bazy danych PostgreSQL (jeśli ma to zastosowanie) |
citus.max_intermediate_result_size | Rozmiar w KB wyników pośrednich dla wartości CTE i podzapytania, których nie można wypchnąć |
Zakleszczenie
Nazwa/nazwisko | opis |
---|---|
citus.distributed_deadlock_detection_factor | Czas oczekiwania przed sprawdzeniem rozproszonych zakleszczeń |
citus.log_distributed_deadlock_detection | Czy rejestrować przetwarzanie związane z wykrywaniem zakleszczenia rozproszonego w dzienniku serwera |
Tabele systemowe
Węzeł koordynacji zawiera tabele metadanych i widoki, które ułatwiają wyświetlanie właściwości danych i działania zapytań w klastrze.
Nazwa/nazwisko | opis |
---|---|
citus_dist_stat_activity | Zapytania rozproszone wykonywane na wszystkich węzłach |
citus_lock_waits | Zapytania zablokowane w całym klastrze |
citus_shards | Lokalizacja każdego fragmentu, typ tabeli, do którego należy, oraz jego rozmiar |
citus_stat_statements | Statystyki dotyczące sposobu wykonywania zapytań i osób, dla których |
citus_tables | Podsumowanie wszystkich tabel rozproszonych i referencyjnych |
citus_worker_stat_activity | Zapytania dotyczące procesów roboczych, w tym zadań na poszczególnych fragmentach |
pg_dist_colocation | Które fragmenty tabel powinny być umieszczone razem |
pg_dist_node | Informacje o węzłach procesu roboczego w klastrze |
pg_dist_object | Obiekty, takie jak typy i funkcje utworzone w węźle koordynatora i propagowane do węzłów roboczych |
pg_dist_placement | Lokalizacja replik fragmentów w węzłach roboczych |
pg_dist_rebalance_strategy | Strategie, których rebalance_table_shards można użyć do określenia miejsca przenoszenia fragmentów |
pg_dist_shard | Tabela, kolumna rozkładu i zakresy wartości dla każdego fragmentu |
time_partitions | Informacje o każdej partycji zarządzanej przez takie funkcje jak create_time_partitions i drop_old_time_partitions |
Następne kroki
- Poznaj kilka przydatnych zapytań diagnostycznych
- Przejrzyj listę parametrów konfiguracji w bazowej bazie danych PostgreSQL.