Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Important
Azure Cosmos DB для PostgreSQL находится на пути выхода на пенсию и больше не рекомендуется для новых проектов. Вместо этого используйте одну из этих двух служб:
Для рабочих нагрузок PostgreSQL используйте функцию эластичных кластеров Базы данных Azure для PostgreSQL для использования функций горизонтального масштабирования и распределенных функций PostgreSQL, содержащихся в расширении Citus с открытым исходным кодом. Для получения руководства по миграции см. руководство по миграции на базу данных Azure для PostgreSQL с Elastic Cluster.
Для рабочих нагрузок NoSQL используйте Azure Cosmos DB для NoSQL в качестве решения распределенной базы данных, обеспечивающего соглашение об уровне обслуживания (SLA) с доступностью 99,999%, мгновенное автомасштабирование и автоматическую отработку отказов в нескольких регионах.
Azure Cosmos DB for PostgreSQL включает функции, выходящие за рамки стандартного PostgreSQL. Ниже приведен упорядоченный справочник по функциям и параметрам конфигурации для следующих задач:
- Распараллеливание выполнения запросов по сегментам
- Управление сегментированными данными между несколькими серверами
- Сжатие данных с помощью хранилища на базе столбцов
- Автоматизация секционирования временных рядов
Функции SQL
Sharding
| Name | Description |
|---|---|
| alter_distributed_table | Изменение столбца распределения, числа сегментов или свойств совместного размещения распределенной таблицы |
| citus_copy_shard_placement | Восстановление неактивного размещения сегментов с использованием данных из работоспособного размещения |
| citus_schema_distribute | Преобразование схемы PostgreSQL в распределенную схему |
| citus_schema_undistribute | Отмена действия citus_schema_distribute |
| create_distributed_table | Преобразование таблицы PostgreSQL в распределенную (сегментированную) таблицу |
| create_reference_table | Обеспечение синхронизации полных копий таблицы на всех узлах |
| citus_add_local_table_to_metadata | Добавление локальной таблицы в метаданные для включения запроса с любого узла |
| isolate_tenant_to_new_shard | Создание сегмента для хранения строк с конкретным отдельным значением в столбце распределения |
| truncate_local_data_after_distributing_table | Усечение всех локальных строк после распределения таблицы |
| undistribute_table | Отмена действия create_distributed_table или create_reference_table |
Повторная балансировка сегментов
| Name | Description |
|---|---|
| citus_add_rebalance_strategy | Добавление строки в pg_dist_rebalance_strategy |
| citus_move_shard_placement | Обычно используется неявно при повторной балансировке сегментов, а не вызывается напрямую администратором базы данных |
| citus_set_default_rebalance_strategy | Задание стратегии, указанной ее аргументом, как стратегии по умолчанию, которая будет выбираться при повторной балансировке сегментов |
| get_rebalance_progress | Отслеживание перемещений, запланированных и выполняемых функцией rebalance_table_shards |
| get_rebalance_table_shards_plan | Вывод запланированных перемещений сегментов rebalance_table_shards без их выполнения |
| rebalance_table_shards | Перемещение сегментов заданной таблицы для равномерного их распределения между рабочими узлами |
Совместное размещение
| Name | Description |
|---|---|
| create_distributed_function | Выполнение функции на рабочих узлах рядом с совместно размещенными сегментами |
| update_distributed_table_colocation | Изменение или прерывание совместного размещения распределенной таблицы |
Хранение данных по столбцам
| Name | Description |
|---|---|
| alter_columnar_table_set | Изменение параметров в таблице на основе столбцов |
| alter_table_set_access_method | Преобразование таблицы между кучей или хранилищем столбцов |
Секционирование временных рядов
| Name | Description |
|---|---|
| alter_old_partitions_set_access_method | Изменение метода хранения секций |
| create_time_partitions | Создание секций заданного интервала для покрытия определенного диапазона времени |
| drop_old_time_partitions | Удаление всех секций, интервалы которых выходят за рамки заданной метки времени |
Информационный
| Name | Description |
|---|---|
| citus_get_active_worker_nodes | Получение имен узла и номеров портов активных рабочих узлов |
| citus_relation_size | Возвращает дисковое пространство, используемое всеми сегментами указанной распределенной таблицы |
| citus_remote_connection_stats | Число активных соединений к каждому удаленному узлу |
| citus_stat_statements_reset | Удаление всех строк из citus_stat_statements |
| citus_table_size | Возвращает дисковое пространство, используемое всеми сегментами указанной распределенной таблицы, за исключением индексов |
| citus_total_relation_size | Возвращает общее дисковое пространство, используемое всеми сегментами указанной распределенной таблицы, включая все индексы и данные TOAST |
| column_to_column_name | Преобразование столбца partkey таблицы pg_dist_partition в имя текстового столбца |
| get_shard_id_for_distribution_column | Поиск идентификатора сегмента, связанного со значением столбца распределения |
Параметры сервера
Выполнение запросов
| Name | Description |
|---|---|
| citus.all_modifications_commutative | Разрешение всем командам запрашивать совмещаемую блокировку |
| citus.count_distinct_error_rate | Настройка частоты ошибок для приблизительного подсчета postgresql-hll |
| citus.enable_repartition_joins | Разрешение операций JOIN, выполняемых не со столбцами распределения |
| citus.enable_repartitioned_insert_select | Разрешение повторного секционирования строки из инструкции SELECT и их передачи между рабочими узлами для вставки |
| citus.limit_clause_row_fetch_count | Количество строк для выборки на каждую задачу для оптимизации предложения limit |
| citus.local_table_join_policy | Место для перемещения данных при создании соединения между локальными и распределенными таблицами |
| citus.multi_shard_commit_protocol | Протокол фиксации для использования при выполнении операции COPY в распределенной хэш-таблице |
| citus.propagate_set_commands | Определяет, какие команды SET распространяются от координатора к рабочим узлам |
| citus.create_object_propagation | Поведение инструкций CREATE в транзакциях для поддерживаемых объектов |
| citus.use_citus_managed_tables | Разрешение доступа к локальным таблицам в запросах рабочего узла |
Информационный
| Name | Description |
|---|---|
| citus.explain_all_tasks | Отображение всех задач в выходных данных EXPLAIN |
| citus.explain_analyze_sort_method | Метод сортировки задач в выходных данных EXPLAIN ANALYZE |
| citus.log_remote_commands | Запись запросов, которые координатор отправляет на рабочие узлы |
| citus.multi_task_query_log_level | Уровень ведения журнала для любого запроса, который создает больше одной задачи |
| citus.stat_statements_max | Максимальное число строк, сохраняемых в citus_stat_statements |
| citus.stat_statements_purge_interval | Частота, с которой управляющая программа обслуживания удаляет записи из citus_stat_statements, которые не совпадают в pg_stat_statements |
| citus.stat_statements_track | Включение или отключение отслеживания инструкций |
| citus.show_shards_for_app_name_prefixes | Позволяет отображать сегменты для выбранных клиентов, которые хотят их просмотреть |
| citus.override_table_visibility | Включение и отключение скрытия сегментов |
Управление подключениями между узлами
| Name | Description |
|---|---|
| citus.executor_slow_start_interval | Время ожидания в миллисекундах между открытием подключений к одному и тому же рабочему узлу |
| citus.force_max_query_parallelization | Открытие максимально возможного числа подключений |
| citus.max_adaptive_executor_pool_size | Максимальное число подключений рабочих узлов на сеанс |
| citus.max_cached_conns_per_worker | Количество соединений, остающихся открытыми для ускорения последующих команд |
| citus.node_connection_timeout | Максимальная продолжительность (в миллисекундах) для ожидания установления соединения |
Передача данных
| Name | Description |
|---|---|
| citus.enable_binary_protocol | Использование формата двоичной сериализации PostgreSQL (если применимо) для перемещения данных с рабочими узлами |
| citus.max_intermediate_result_size | Размер (в КБ) промежуточных результатов для CTE и вложенных запросов, которые не могут быть переданы |
Deadlock
| Name | Description |
|---|---|
| citus.distributed_deadlock_detection_factor | Время ожидания перед проверкой распределенных взаимоблокировок |
| citus.log_distributed_deadlock_detection | Указание того, следует ли записывать в журнал на сервере обработку, связанную с обнаружением распределенной взаимоблокировки |
Системные таблицы
Узел координатора содержит таблицы метаданных и представления для просмотра свойств данных и действий запросов в кластере.
| Name | Description |
|---|---|
| citus_dist_stat_activity | Распределенные запросы, выполняемые на всех узлах |
| citus_lock_waits | Запросы, заблокированные во всем кластере |
| citus_shards | Расположение каждого сегмента, тип таблицы, к которой он принадлежит, и его размер |
| citus_stat_statements | Статистика по выполнению запросов и объектам, к которым они обращены |
| citus_tables | Сводка по всем распределенным и ссылочным таблицам |
| citus_worker_stat_activity | Запросы к рабочим узлам, включая задачи по отдельным сегментам |
| pg_dist_colocation | Указание того, какие сегменты таблиц следует расположить вместе |
| pg_dist_node | Сведения о рабочих узлах в кластере |
| pg_dist_object | Объекты, такие как типы и функции, которые были созданы на узле-координаторе и распространены на рабочие узлы |
| pg_dist_placement | Расположение реплик сегментов на рабочих узлах |
| pg_dist_rebalance_strategy | Стратегии, с помощью которых rebalance_table_shards определяет место для перемещения сегментов |
| pg_dist_shard | Таблица, столбец распределения и диапазоны значений для каждого сегмента |
| time_partitions | Сведения о каждой секции, управляемой такими функциями, как create_time_partitions и drop_old_time_partitions |
Дальнейшие действия
- См. дополнительные сведения о некоторых полезных диагностических запросах.
- Изучите список параметров конфигурации в базовой базе данных PostgreSQL.