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, см. пример.