本帖最后由 a442030800 于 2012-09-25 14:10:03 编辑

解决方案 »

  1.   

    data目录下的postgresql.conf
    里面有参数 search_path
    or
    针对每用户,这样:
     ALERT ROLE name SET search_path TO schema [, schema, ...]
    示例
    把用户jianingy的默认search_path设置为schema和public 
       ALTER USER jianingy SET search_path to schema, public
      

  2.   

    谢谢,不过我还有几个疑问。。
    我在当前用户登录的psql,可以用SET search_path to mySchema 来修改,但是
    1.它不会保存,我再次登录,就又回到"$user",Public了。
    2.用超级用户登录后,ALERT ROLE name SET search_path TO schema 用这个语句,他会报一个错 这个role不存在。 
    (PS:用户我是用的有大写小写,会有关系吗?另外,这个数据库建立之后我就把默认的那个Public schema给删掉了,要紧吗?)
    3.我想问一下schema, public --> 逗号隔开分别代表着什么呢?谢谢你在我以为会沉下去的时候拉上来了,~~~   --
      

  3.   

    1、修改data目录下的postgresql.conf
    里面有参数 search_path
    2、ROLE角色,比如USER
    3、
      

  4.   

    3、你的模式,public模式
    2个模式
      

  5.   

    1、修改data目录下的postgresql.conf
      --->对哦,如果是修改data目录下的postgresql.conf的话,那么应该是要重启吧?难怪没作用2、ROLE角色,比如USER
      --->神马意思。--
    3.
      --->您想表述啥。。·~--
      

  6.   

    1、要重启
    2、角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限查看角色表中的信息:
    SELECT * FROM pg_roles;3、将你的模式设置为 你的模式,public模式 2个模式建议看看POSTGRSQL的HELP