Clickhouse导出库的表、视图、用户和角色定义的SQL语句

导出所有用户和角色设置

sql 复制代码
SELECT SQL FROM (
SELECT
    concat('CREATE USER IF NOT EXISTS ', name, ' IDENTIFIED WITH ', auth_type[1], ' BY \'', '<password>', '\';') AS SQL,
    1 AS ord
FROM
system.users
UNION ALL
SELECT
    concat('CREATE ROLE IF NOT EXISTS ', name, ';') AS SQL,
    2 AS ord
FROM
system.roles
UNION ALL
SELECT
    concat('GRANT ', role_name, ' TO ', user_name, ';') AS SQL,
    3 AS ord
FROM
system.role_grants
WHERE role_name IS NOT NULL
UNION ALL
SELECT
    concat('GRANT ', access_type, ' ON ', COALESCE(database, ''), ' TO ', COALESCE(role_name, 'UnknownRole'), ';') AS SQL,
    4 AS ord
FROM
system.grants
WHERE role_name IS NOT NULL
) A
ORDER BY ord;

导出所有表和视图定义

sql 复制代码
SELECT SQL FROM (
SELECT 
concat(create_table_query, ';') AS SQL,
1 AS ord
FROM
system.tables
WHERE engine IN ('Log', 'TinyLog', 'StripeLog', 'Memory', 'MergeTree', 'ReplacingMergeTree', 'SummingMergeTree', 'AggregatingMergeTree', 'Distributed', 'Memory', 'Buffer')
AND database NOT IN ('system', 'information_schema', 'INFORMATION_SCHEMA')
UNION ALL
SELECT 
concat(create_table_query, ';') AS SQL,
2 AS ord
FROM
system.tables
WHERE engine IN ('View', 'MaterializedView')
AND database NOT IN ('system', 'information_schema', 'INFORMATION_SCHEMA')
) A
ORDER BY ord;
相关推荐
Wave8451 分钟前
非阻塞按键(单击,双击,长按)
数据库
阿贵---4 分钟前
C++代码规范化工具
开发语言·c++·算法
2401_831824967 分钟前
为你的Python脚本添加图形界面(GUI)
jvm·数据库·python
久违的太阳8 分钟前
记录一次ORACLE RAC安装PSU补丁步骤
数据库·oracle
2401_879693879 分钟前
用Pygame开发你的第一个小游戏
jvm·数据库·python
暮冬-  Gentle°12 分钟前
自定义内存检测工具
开发语言·c++·算法
一直都在57212 分钟前
Java死锁
java·开发语言
娇娇yyyyyy15 分钟前
QT编程(15): Qt 按键事件和定时器事件
开发语言·qt
xushichao198918 分钟前
实战:用OpenCV和Python进行人脸识别
jvm·数据库·python
ccLianLian23 分钟前
数论·欧拉函数
数据结构·算法