导入sql文件后,未能查看到相关的表

解决PSQL找不到导入数据表问题
本文介绍了解决在Linux环境下使用PSQL时,因search_path设置不当导致无法找到已导入数据表的问题。通过调整search_path设置,使新表在正确模式下可见。

目录

环境

症状

问题原因

解决方案

环境

系统平台:Linux x86-64 Red Hat Enterprise Linux 7

版本:4.7.6

症状

导入sql文件后,psql未能找到相关的数据表,提示关系不存在,连接hgadmin可以看到这几个表。

问题原因

1、由于导入的表在其他模式中,但是PG有个search_path的概念,类似操作系统的PATH路径,定义此设置来让PG识别对象应该在哪里。对用户视图访问的对象进行搜索(类似PATH变量),搜索时使用首个发现的模式。

2、新加入的表的模式,在当前的search_path中没有设置,将此模式加入当前的search_path设置中,需要更改search_path设置。

解决方案

1、先查看当前的search_path。

highgo=# show search_path;

2、更改search_path设置,设置方法:(在不同的层级以不同的方式设置)

·在会话运行时间中设置search_path-----set serch_path=

·也可以在配置文件中或系统层面设置默认的search_path------postgresql.conf,alter system set search_path=

·也可以以超级用户使用ALTER USER命令-----alter user myuser set search_path=

例如在系统层面添加a和b模式。

highgo=# alter system set search_path="$user", public, a,b;

ALTER SYSTEM

等多解决方案请登录【瀚高技术支持平台】 查看

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值