免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3433 | 回复: 2
打印 上一主题 下一主题

关于模式的两个问题【已试验解决】 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-27 14:39 |只看该作者 |倒序浏览
本帖最后由 大红机器 于 2010-09-27 15:13 编辑

问题一:如何查看指定模式下的对象?
  1. \dt[S+] [模式]     列出表
复制代码
我建立了一个叫mysch的模式,并且在这个模式下建立了一个表tt

然后使用\dt mysch却看不到

原来什么都看不到
  1. postgres=# \dt
  2. No relations found.
复制代码
修改search_path
  1. postgres=# set search_path to mysch,"$user",public;
  2. SET
  3. postgres=# show search_path;
  4.       search_path      
  5. ------------------------
  6. mysch, "$user", public
  7. (1 row)
复制代码
可以看到了
  1. postgres=# \dt
  2.         List of relations
  3. Schema | Name | Type  |  Owner   
  4. --------+------+-------+----------
  5. mysch  | tt   | table | postgres
  6. (1 row)
复制代码
但是\dt mysch看不到
  1. postgres=# \dt mysch
  2. No matching relations found.
复制代码
然后我又在public下建立了同名表tt
  1. postgres=# create table public.tt(x varchar(8));
  2. CREATE TABLE
复制代码
这时又出现问题了:

用\dt发现public模式下的tt表看不到了……
  1. postgres=# \dt
  2.         List of relations
  3. Schema | Name | Type  |  Owner   
  4. --------+------+-------+----------
  5. mysch  | tt   | table | postgres
  6. (1 row)
复制代码
查看mysch下的tt,可以查询
  1. postgres=# select * from tt;
  2. x
  3. ---
  4. (0 rows)
复制代码
插入数据到public.tt
  1. postgres=# insert into public.tt values(5);
  2. INSERT 0 1
复制代码
查看mysch.tt,没有数据
  1. postgres=# select * from tt;
  2. x
  3. ---
  4. (0 rows)
复制代码
查看public.tt,数据已经插入成功
  1. postgres=# select * from public.tt;
  2. x
  3. ---
  4. 5
  5. (1 row)
复制代码
晕了,求高手解惑

论坛徽章:
0
2 [报告]
发表于 2010-09-27 15:03 |只看该作者
又添加了一个模式tst,建立同名表tt,发现也看不到

把search_path中顺序改变一下,将tst放在前面,就显示tst的tt表了,mysch和public又消失了……

结论:看起来如果表同名,只显示search_path中第一个模式的表,不同名的则完全显示

论坛徽章:
0
3 [报告]
发表于 2010-09-27 15:11 |只看该作者
第一个问题也试验出来了
  1. \dt mysch.
复制代码
原来要加个点
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP