首页 > 其他分享 >查询指定用户的unique,primary索引名/键值

查询指定用户的unique,primary索引名/键值

时间:2024-05-01 20:44:24浏览次数:22  
标签:index name -- primary 索引 键值 table unique ORDER


--1.SQL用 postgres账户查询 PostgreSQL 中指定DB以及schema下唯一索引的信息,按照表名:索引名:索引键值 并按表名排序输出
SELECT
    t.tablename AS table_name,
    i.indexname AS index_name,
    string_agg(a.attname, ', ' ORDER BY a.attnum) AS index_keys
FROM
    pg_indexes i
    JOIN pg_class t ON i.tablename = t.relname
    JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = ANY(i.indkey)
WHERE
    t.relkind = 'r' -- 可选:限制为普通表,排除视图和其他特殊关系类型
    AND i.schemaname = 'your_schema' -- 替换为要查询的模式名
    AND i.indexdef LIKE 'CREATE UNIQUE%'
GROUP BY
    t.tablename, i.indexname
ORDER BY
    t.tablename;



--2.SQL用 postgres账户查询 PostgreSQL 中指定DB以及schema下主键索引的信息,按照表名:索引名:索引键值 并按表名排序输出
SELECT
    t.tablename AS table_name,
    i.indexname AS index_name,
    string_agg(a.attname, ', ' ORDER BY a.attnum) AS index_keys
FROM
    pg_indexes i
    JOIN pg_class t ON i.tablename = t.relname
    JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = ANY(i.indkey)
WHERE
    t.relkind = 'r' -- 可选:限制为普通表,排除视图和其他特殊关系类型
    AND i.schemaname = 'your_schema' -- 替换为要查询的模式名
    AND i.indexdef LIKE 'CREATE UNIQUE%PRIMARY KEY%'
GROUP BY
    t.tablename, i.indexname
ORDER BY
    t.tablename;



--3.SQL用sys账户查询Oracle中指定schema下唯一索引的信息,按照表名:索引名:索引键值 并按表名排序输出
SELECT
    c.table_name,
    i.index_name,
    listagg(c.column_name, ', ') WITHIN GROUP (ORDER BY c.column_position) AS index_keys
FROM
    all_indexes i
    JOIN all_ind_columns c ON i.index_name = c.index_name AND i.table_name = c.table_name
WHERE
    i.owner = 'your_schema' -- 替换为要查询的模式名
    AND i.uniqueness = 'UNIQUE'
GROUP BY
    c.table_name, i.index_name
ORDER BY
    c.table_name;



--4.SQL用sys账户查询Oracle中指定schema下主键索引的信息,按照表名:索引名:索引键值 并按表名排序输出
SELECT
    c.table_name,
    i.index_name,
    listagg(c.column_name, ', ') WITHIN GROUP (ORDER BY c.column_position) AS index_keys
FROM
    all_constraints pk
    JOIN all_indexes i ON pk.index_name = i.index_name AND pk.table_name = i.table_name
    JOIN all_cons_columns c ON pk.constraint_name = c.constraint_name AND pk.table_name = c.table_name
WHERE
    pk.owner = 'your_schema' -- 替换为要查询的模式名
    AND pk.constraint_type = 'P'
GROUP BY
    c.table_name, i.index_name
ORDER BY
    c.table_name;







标签:index,name,--,primary,索引,键值,table,unique,ORDER
From: https://www.cnblogs.com/Jeona/p/18169621

相关文章

  • 快速部署 微软开源的 Garnet 键值数据库
    快速部署微软开源的Garnet键值数据库Garnet是MicrosoftResearch推出的一种新型远程缓存存储,其设计速度极快、可扩展且延迟低。Garnet在单个节点内是线程可扩展的。它还支持分片集群执行、复制、检查点、故障转移和事务。它可以在主内存以及分层存储(例如SSD和Azure存......
  • Oracle以及PG中将指定用户的primary,unique索引按照指定格式输出
    ---OracleSELECTLOWER(c.table_name)||':'||LOWER(i.index_name)||':'||LOWER(wm_concat(c.column_name))ASoutputFROMall_indexesiJOINall_ind_columnscONi.index_name=c.index_nameANDi.table_name=c.table_na......
  • golang etcd键值存储系统
    目录存储配置文件watch命令在Go语言中,etcd是一个高可用的键值存储系统,它主要用于共享配置和服务发现。etcd由CoreOS团队开发,它是Kubernetes项目中用于存储所有集群数据的关键组件。etcd使用Raft协议来保持集群之间的数据一致性,并且提供了强一致性保证https://blog.csdn.net/jo......
  • 图结构 Graph primary
    目录图的应用场景图的概念和分类图的操作存储查询图结构(英文:GraphStructure)图的定义:在数据的逻辑结构中,如果结构中的某一个节点的前驱和后继的个数不加限制,则称这种数据结构为图结构(图形结构、Graph)。图形结构是一种比树形结构更复杂的非线性结构。区别在于:在树形结构中,......
  • k-均值聚类算法 Primary
    目录案例——区分好坏苹果(有Key)案例——自动聚类(无Key)k-均值聚类算法(英文:k-meansclustering)定义:k-均值聚类算法的目的是:把n个点(可以是样本的一次观察或一个实例)划分到k个聚类中,使得每个点都属于离他最近的均值(此即聚类中心)对应的聚类,以之作为聚类的标准。案例——区分好坏苹......
  • 【御控】JavaScript JSON结构转换(1):对象To对象——键值互换
    文章目录一、JSON是什么?二、JSON结构转换是什么?三、核心构件之转换映射四、案例之《JSON对象ToJSON对象》五、代码实现六、在线转换工具七、技术资料一、JSON是什么?Json(JavaScriptObjectNotation)产生于20世纪90年代初,最初由道格拉斯·克罗克福特(DouglasCrockfo......
  • UNIQUE VISION Programming Contest 2024 Spring(AtCoder Beginner Contest 346)
    C我们用\(1\simK\)的和减去出现在\(1\simK\)中的数的和。intn,k,a[N],res;map<int,int>vis;signedmain(){ cin>>n>>k; _for(i,1,n)cin>>a[i]; res=k*(1+k)/2; _for(i,1,n)if(a[i]>=1&&a[i]<=......
  • std::unique_lock
    C++11标准中定义了另外一个与MutexRAII相关类unique_lock,该类与lock_guard类相似,也很方便线程对互斥量上锁,但它提供了更好的上锁和解锁控制。unique_lock对象以独占所有权的方式(uniqueowership)管理mutex对象的上锁和解锁操作,所谓独占所有权,就是没有其他的unique_loc......
  • etcd每个节点都存储了完整的键值对数据集,为什么扩容etcd集群仍可分散存储压力?
    etcd每个节点都存储了完整的键值对数据集,这主要是为了确保数据的一致性和高可用性。在这种设计下,任何一个节点都可以处理读取请求,并在本地提供数据,从而无需跨节点通信。这种冗余的数据存储方式也增加了系统的容错性,因为即使部分节点发生故障,其他节点仍然可以提供完整的数据集。然......
  • 实现一个简单的 std::unique_ptr
    实现一个简单的std::unique_ptr简介std::unique_ptr是一个独占资源所有权的智能指针,通过RAII来自动管理资源的构造和析构。在标准库中,std::unique_ptr的通常实现是具有空基类优化。具体来讲,对于std::unique_ptr的删除器是其类型中的一部分,如果没有空基类优化,那么std::u......