PostgreSQL:奇怪的突然数据types和select模式问题

这是我的问题:

其实我使用postgresql 9.4和postGIS扩展。

我创build一个数据库,并添加新的表,没有问题…与几何数据types…直到现在…

现在,我不知道为什么,我突然不得不“select模式”来获取我的数据types…

我使用pgadminIII创build我的表,所以我添加一个新的表,当我尝试添加一个新的列,我写的列名称,然后在数据types我尝试键入“几何”,它不工作了…现在我已经写了“public.geometry”,因为几何types是在公共模式中注册的…我在第30张桌子上,而在之前的那些桌子上,我不需要那样做,经理直接识别几何types…

postgis扩展是有效的,并在我的数据库(function和扩展确定)注册,

任何人有一个想法:

  • 我如何得到这个…为什么现在正在发生…
  • 如何解决这个问题…(这是很无聊的,而且,我怕,当我不得不在这个表上查询时,我会遇到麻烦调用postgis函数,而不会给出模式名称…)

感谢您的阅读/帮助

编辑:

这是searchpath:

SHOW search_path的结果

这里是我说“公开”时的意思。dataType:

数据类型列表

这听起来像你的search_path已经改变了。 默认模式searchpath是"$user",public表示如果使用非限定标识符,则首先在名为与您的用户相同的模式中查找它,如果未find,则尝试公用模式。

你可以检查你的searchpath

 SHOW search_path; 

然后将searchpath设置回默认值

 SET search_path TO DEFAULT; 

正在改变你的search_path的罪魁祸首可能很难确定,它可能是一个函数,正在调用SET search_path...而不是SET LOCAL search_path ,但使用SET被限制为一个会话,如果你开始一个新的会话,它应该被重置回默认值。 如果这不能解决它,你可能需要检查postgresql.conf文件,看看是否search_path默认已经改变了

 search_path = '"$user",public'