检查YugabyteDB数据库是否支持托管?

问题描述 投票:0回答:1

我可以发出 sql 查询来检测数据库是否支持托管吗?我想检查一下数据库或表是否将共置属性设置为 ON 或 OFF、true/false…我目前有一个脚本创建 3 个表,其中一个通常会失败,结果告诉我是否数据库支持coloc(目前,甚至不确定它是否万无一失......)。是否可以将此属性“外部化”到某些 SQL 表或视图,或者可能已经是这种情况了。

yugabytedb
1个回答
0
投票

有一个名为

yb_table_properties
的函数应该会有所帮助(请参阅下面的
is_colocated
列)

yugabyte=# CREATE DATABASE c with COLOCATION = true;
CREATE DATABASE

yugabyte=# \c c
You are now connected to database "c" as user "yugabyte".

c=# CREATE TABLE t (c1 INT);
CREATE TABLE

c=# SELECT * FROM yb_table_properties('t'::regclass);
 num_tablets | num_hash_key_columns | is_colocated | tablegroup_oid | colocation_id
-------------+----------------------+--------------+----------------+---------------
        1 |                 0 | t           |       16392 | 1639512673
(1 row)

还有一个函数

yb_is_database_colocated
,您可以运行它来确定您连接的数据库是否位于同一位置:

c=# SELECT yb_is_database_colocated();
 yb_is_database_colocated
--------------------------
 t
(1 row)

c=# \c yugabyte
You are now connected to database "yugabyte" as user "yugabyte".

yugabyte=# SELECT yb_is_database_colocated();
 yb_is_database_colocated
--------------------------
 f
(1 row)
© www.soinside.com 2019 - 2024. All rights reserved.