2014-11-04 34 views
4

我在模式下創建了一些表。目前,我可以使用以下模式訪問表格:如何在模式中訪問表而不必使用模式前綴(Postgres + PHP)?

select * from myschema.mytable 

我在尋找避免使用模式名稱的方法。像這樣:

select * from mytable 

但我沒有找到答案。

你能幫忙嗎?由於

+0

出於好奇 - 爲什麼要避免模式名稱? – 2014-11-04 00:48:57

+0

您可以使用SET搜索路徑;如SET search_path to myschema,public;這會影響整個會議 – okaram 2014-11-04 00:50:12

回答

6

模式搜索路徑將用於這方面的工作:

要看到當前值:

SHOW search_path; 

要更改值(追加新的模式):

SET search_path TO myschema,public; 

據記載here, in section 5.7.3

+0

道歉,但我不是很清楚。我如何從PHP內部做到這一點? – mrjayviper 2014-11-04 03:21:44

+1

@mrjayviper只需在PHP下運行'SET'語句(在其他查詢之前)。請注意,您想要訪問的模式不一定是第一個 - 搜索路徑中的第一個模式只控制在哪裏創建新表(如果在單獨的模式中有多個具有相同名稱的表) – pozs 2014-11-04 08:19:55

相關問題