如果我创建了下面的命令的索引:CREATE INDEX ixname ON tbname (id);
如何从postgreSQL INDEX中选择数据?
哪里ixname
是索引的名称,tbname
是用于正在创建索引和id
是列的索引是表的名称。
现在,如果我想查看ixname
中的内容,我该怎么做? (我问的假设,索引是一个关系/表与排序列)
如果我创建了下面的命令的索引:CREATE INDEX ixname ON tbname (id);
如何从postgreSQL INDEX中选择数据?
哪里ixname
是索引的名称,tbname
是用于正在创建索引和id
是列的索引是表的名称。
现在,如果我想查看ixname
中的内容,我该怎么做? (我问的假设,索引是一个关系/表与排序列)
你只是不能。不作为客户端,不使用SQL。
索引中的数据是PostgreSQL的内部数据,并且外部世界无法访问。您可以使用introspect your index definitions(使用pg_indexes
表或pg_get_indexdef
函数),但不能查找实际存储的内容。
好了,你可以在技术上在find the file(s)将索引数据存储(使用pg_class.relfilenode
和base/
子目录检查文件),并解码他们的B树的binary data(或任何你索引使用),但我不知道这是你想要做的。除非你打算学习或破解PostgreSQL内部。
谢谢,这个比评论者更有帮助。 –
你的问题根本不清楚,而引用的问题/答案没有帮助。 –
引用的答案并不真正做你认为它所做的事情。如果您想知道索引包含什么,请查看其定义,并编写一个查询,以便在相关表中查找相应的查询。 – TZHX
我已编辑,希望澄清问题。 –