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;
相关推荐
wanhengidc10 分钟前
云手机畅玩 梦幻西游
运维·服务器·arm开发·智能手机·自动化
葵续浅笑13 分钟前
LeetCode - 杨辉三角 / 二叉树的最大深度
java·数据结构·算法·leetcode
装不满的克莱因瓶22 分钟前
【Java架构师】各个微服务之间有哪些调用方式?
java·开发语言·微服务·架构·dubbo·restful·springcloud
杨筱毅29 分钟前
【穿越Effective C++】条款13:以对象管理资源——RAII原则的基石
开发语言·c++·effective c++
qq_4798754330 分钟前
RVO和移动语义
前端·算法
菜小麒31 分钟前
推荐算法的八股文
算法·机器学习·推荐算法
serve the people37 分钟前
Prompt Serialization in LangChain
数据库·langchain·prompt
万事大吉CC37 分钟前
Win11卸载重装oracle 11g数据库
数据库
Miraitowa_cheems1 小时前
LeetCode算法日记 - Day 94: 最长的斐波那契子序列的长度
java·数据结构·算法·leetcode·深度优先·动态规划
Zz_waiting.1 小时前
统一服务入口-Gateway
java·开发语言·gateway