C.6. Полезные функции и таблицы
C.6.1. Как посмотреть, какие таблицы и последовательности являются распределёнными?
Ниже перечислены некоторые полезные внутренние таблицы Shardman.
shardman.sequence
— список глобальных последовательностейshardman.sharded_tables
— список сегментированных таблицshardman.global_tables
— список глобальных таблиц
Например:
postgres=# select * from shardman.sequence; seqns | seqname | seqmin | seqmax | seqblk --------+---------+--------+---------------------+-------- public | s | 1 | 9223372036854775807 | 65536 (1 row) postgres=# select * from shardman.sharded_tables; rel | nparts | colocated_with | relname | nspname -------+--------+----------------+---------+--------- 16648 | 20 | | d | public 16741 | 20 | 16648 | c | public (2 rows) postgres=# select * from shardman.global_tables; relid | main_rgid | relname | nspname -------+-----------+---------+--------- 16636 | | g | public (1 row)
C.6.2. Как мне выполнить SQL-команду на всех узлах в кластере?
Для этого используйте функцию shardman.broadcast_all_sql
и параметр shardmanctl forall
. Например:
postgres$ shardmanctl forall --sql "select name,setting from pg_settings where name = 'max_connections'" SQL: select name,setting from pg_settings where name = 'max_connections' Node 1 says: [max_connections 90] Node 2 says: [max_connections 90]
C.6.3. Как получить параметры конфигурации Shardman на выбранном узле?
Стандартную команду SHOW
можно использовать для получения уникальных параметров Shardman, которые перечислены в section
.
Кроме того, можно использовать команду shardmanctl config get
для получения конфигурации кластера из etcd. Можно ознакомиться с параметрами этой команды, но настраивать их рекомендуется только после консультации с инженерами Posgres Pro.
C.6.4. Как обновить параметры конфигурации Shardman?
Можно использовать функцию shardmanctl config update
, см. пример.