2015-09-21 52 views
0

這不起作用,導致ERROR: relation "user" does not exist,Postgres的查詢失敗,且不模式

select * from "user" 

這其中確實

select * from "dbo"."user" 
+0

這表明你的'search_path'不包含'dbo'模式。 'SHOW search_path'的輸出是什麼? –

+0

@CraigRinger它顯示'「」$用戶「,公共」「 –

+0

...並且你是用戶'dbo'連接嗎? –

回答

0

表不在模式修飾中搜索在search_path。這不會搜索每個模式。默認情況下,它僅搜索:

  • pg_catalog(隱含永遠第一,沒有上市search_path
  • pg_temp表空間(隱含的,而不是在search_path列出)​​
  • 當前用戶命名的模式,列爲$usersearch_path
  • public模式

我如果您希望PostgreSQL在其他地方查看,您必須修改search_path來告訴它,或完全模式化限定名稱。

參見the PostgreSQL manual on search_path

此外,請注意,不同於某些數據庫,名稱dbo在PostgreSQL中沒有特別的意義。這只是另一個名字。