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;
相关推荐
花归去2 分钟前
echarts 柱状图曲线图
开发语言·前端·javascript
春日见4 分钟前
控制算法:PP(纯跟踪)算法
linux·人工智能·驱动开发·算法·机器学习
智者知已应修善业8 分钟前
【编写函数求表达式的值】2024-4-3
c语言·c++·经验分享·笔记·算法
萧曵 丶13 分钟前
事务ACID特性详解
数据库·事务·acid
2501_9418705620 分钟前
面向微服务熔断与流量削峰策略的互联网系统稳定性设计与多语言工程实践分享
开发语言·python
sinat_2869451920 分钟前
opencode
人工智能·算法·chatgpt
modelmd25 分钟前
Go 编程语言指南 练习题目分享
开发语言·学习·golang
工口发动机37 分钟前
ABC440DEF简要题解
c++·算法
带土143 分钟前
4. C++ static关键字
开发语言·c++
C++ 老炮儿的技术栈1 小时前
什么是通信规约
开发语言·数据结构·c++·windows·算法·安全·链表