postgres 选择当前搜索路径中的所有表?
我需要在当前架构搜索路径中找到所有可见表。我尝试过:
SELECT *
FROM pg_tables
AND schemaname IN (SHOW search_path)
但出现错误:
PGError:错误:“search_path”处或附近的语法错误 第 3 行:AND schemaname IN (SHOW search_path)
I need to find all the visible tables in my current schema search path. I tried:
SELECT *
FROM pg_tables
AND schemaname IN (SHOW search_path)
but it errors with:
PGError: ERROR: syntax error at or near "search_path"
LINE 3: AND schemaname IN (SHOW search_path)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
pg_*_is_visible()
函数集就是为此目的而提供的。这是使用它们的一种方法:The
pg_*_is_visible()
set of functions is provided for this purpose. Here is one way to use them:您可以使用 CURRENT_SCHEMAS() 函数获取当前架构。它将为您解析搜索路径中的任何引用(例如
$user
)您还可以使用更标准的 information_schema 伪模式。
You can get the current schemas using
CURRENT_SCHEMAS()
function. It will resolve any references in the search path for you (e.g.$user
)You could also use the more standard information_schema pseudo-schema.