Here are lists of some useful internal Shardman tables.
shardman.sequence — the list of global sequences
shardman.sharded_tables — the list of sharded tables
shardman.global_tables — the list of global tables
For example:
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)
To do this, use the shardman.broadcast_all_sql function and shardmanctl forall option. For example:
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]
To do this, use this query:
postgres=# SELECT name,setting FROM pg_catalog.pg_settings WHERE name ~ 'shardman.';
name | setting
-------------------------------------------+--------------------------------------
shardman.broadcast_ddl | off
shardman.cluster_uuid | 818e4a38-4675-4bd2-8070-01ccad48f031
shardman.config_uuid | 0387f597-105c-4697-9a2b-c8779689d469
shardman.database | postgres
shardman.enable_limit_pushdown | on
shardman.fail_after_prepare | off
shardman.fail_before_commit_prepared | off
shardman.fail_before_prepare | off
shardman.manual_execution | off
shardman.monitor_deadlock_interval | 2
shardman.monitor_dxact_interval | 5
shardman.monitor_dxact_timeout | 5
shardman.monitor_interval | 0
shardman.monitor_trim_csnxid_map_interval | 5
shardman.num_parts | 20
shardman.pre_promote_mode | off
shardman.query_engine_mode | text
shardman.rgid | 1
shardman.silk_blocks_bk | -1
shardman.silk_blocks_worms | off
shardman.silk_enabled | on
shardman.silk_listen_ip | node1
shardman.silk_max_message | 524288
...
Besides, you can use shardmanctl config get command to obtain cluster configuration from etcd.
You can view the parameters, but it is better to customize them after consulting with Posgres Pro engineers.
You can use shardmanctl config update functionality, see an example.