问题描述:
使用ADAM从oracle迁移表结构到polardb_o后,登录polardb调用\d不显示任何表,但查询pg_tables发现表已经存在。
itksdb=# \d Did not find any relations. itksdb=# select count(*) from pg_tables; count ------- 274
查询官方文档得知:
pg有一个schema search path的东西。
系统将沿着一条search path来决定该名称指的是哪个表。search path中第一个匹配的表将被认为是所需要的。如果在搜索路径中没有任何匹配,即使在数据库的其他schema中存在匹配的表名也将会报错。
search path中的第一个schema被称为current schema。除了是第一个被搜索的schema外,如果CREATE TABLE命令没有指定schema,它将是新创建表所在的schema。
itksdb=# show search_path; search_path ----------------- "$user", public --第一个元素说明一个和当前用户同名的schema会被搜索。如果不存在这个schema,该项将被忽略。第二个元素指向public schema。
ADAM根据oracle的schema在polardb创建了一个同名的schema。表默认建到了c##itokadmin这个schema下,故当我用itokadmin用户登录数据库时调用\d命令不显示任何表。
解决方法:
将这个schema添加到search path中。
--临时生效 itksdb=# set search_path="$user",public,c##itksadmin; SET --永久生效 ALTER ROLE itokadmin in database itksdb set search_path to "$user", public,c##itksadmin;
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 流复制浅析 —— 主备切换
流复制浅析 —— 主备切换
26-03-14 - 如何将excel表格数据导入postgresql数据库
如何将excel表格数据导入postgresql数据库
26-03-14 - 【读书笔记】《PostgreSQL指南-内幕探索》-8.缓冲区管理器
【读书笔记】《PostgreSQL指南-内幕探索》-8.缓冲区管理器
26-03-14 - 2. PostgreSQL 流复制
2. PostgreSQL 流复制
26-03-14 - LSN与段文件的关系
LSN与段文件的关系
26-03-14 - 事务回卷浅析
事务回卷浅析
26-03-14 - 使用PG_STAT_REPLICATION监视复制
使用PG_STAT_REPLICATION监视复制
26-03-14 - Pgbouncer最佳实践:系列三
Pgbouncer最佳实践:系列三
26-03-14 - 【读书笔记】《PostgreSQL指南-内幕探索》-7.堆内元组和仅索引扫描
- Pgbouncer最佳实践:系列二
Pgbouncer最佳实践:系列二
26-03-14
