没有架构,Postgres查询失败

时间:2015-09-21 04:40:32

标签: postgresql

这不起作用,导致ERROR: relation "user" does not exist

select * from "user"

这个确实

select * from "dbo"."user"

1 个答案:

答案 0 :(得分:1)

search_path上搜索没有模式限定的表。这不会搜索每个架构。默认情况下,它只搜索:

  • pg_catalog(隐含地始终首先,未列在search_path上)
  • pg_temp表空间(隐式,未在search_path上列出)
  • 以当前用户命名的架构,在$user
  • 中列为search_path
  • public架构

如果你想让PostgreSQL在其他地方寻找,你必​​须修改search_path来告诉它,或者完全模式化这个名称。

请参阅the PostgreSQL manual on search_path

另外,请注意,与某些数据库不同,名称dbo在PostgreSQL中没有特别重要的意义。它只是另一个名字。