2017-05-06 69 views
-1

如果我创建了下面的命令的索引:CREATE INDEX ixname ON tbname (id);如何从postgreSQL INDEX中选择数据?

哪里ixname是索引的名称,tbname是用于正在创建索引和id是列的索引是表的名称。

现在,如果我想查看ixname中的内容,我该怎么做? (我问的假设,索引是一个关系/表与排序列)

+1

你的问题根本不清楚,而引用的问题/答案没有帮助。 –

+0

引用的答案并不真正做你认为它所做的事情。如果您想知道索引包含什么,请查看其定义,并编写一个查询,以便在相关表中查找相应的查询。 – TZHX

+0

我已编辑,希望澄清问题。 –

回答

5

你只是不能。不作为客户端,不使用SQL。

索引中的数据是PostgreSQL的内部数据,并且外部世界无法访问。您可以使用introspect your index definitions(使用pg_indexes表或pg_get_indexdef函数),但不能查找实际存储的内容。

好了,你可以在技术上在find the file(s)将索引数据存储(使用pg_class.relfilenodebase/子目录检查文件),并解码他们的B树的binary data(或任何你索引使用),但我不知道这是你想要做的。除非你打算学习或破解PostgreSQL内部。

+0

谢谢,这个比评论者更有帮助。 –