2014-11-04 37 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

相关问题