当前位置: 首页 > news >正文

做网站和编程金溪网站建设制作

做网站和编程,金溪网站建设制作,做网站跳转,wordpress怎么买模板最近遇到一个奇怪的问题,以前从来没有遇到过,在postgres SCHEMA下执行select * from table1语句时,提示表不存在,而实际这个表确是存在的,只不过是在public SCHEMA下。在public SCHEMA下执行这个sql语句是没有问题的。…

最近遇到一个奇怪的问题,以前从来没有遇到过,在postgres SCHEMA下执行select * from table1语句时,提示表不存在,而实际这个表确是存在的,只不过是在public SCHEMA下。在public SCHEMA下执行这个sql语句是没有问题的。以前这样的情景都是可以正常访问的。最后经过查阅资料,才解决了这个简单的问题。解决之前需要先了解以下两个概念:
表不存在

CHEMA**(模式)

SCHEMA(模式)在PotgreSQL中是一个很重要的概念,一个SCHEMA可以包含表、视图、索引、数据类型、函数和操作符等。相同的对象名称可以被用于不同的模式中而不会出现冲突。在一个SCHEMA中执行的SQL语句中也可以引用其他SCHEMA内的表、数据类型、脚本函数等。

search_path

search_path是PostgreSQL中的一个环境变量,在执行sql时,如果不指定SCHEMA,数据库会根据search_path里的设定,去逐个SCHEMA查找相关的对象(表、函数、视图等),这也就是为什么我们写SQL里,不指定SCHEMA,也是可以正常执行的。执行下面SQL就可以查询这个环境变量:

show search_path

展示search_path
看上图,我终于找到了错误原因,我使用的数据库的用户名从postgres变为了root,所以使用root连接数据库后,只会检索public下的相关数据,导致提示postgres下的表是不存在的。

解决办法

方法1 修改sql

在原来的SQL中,指定表的SCHEMA。如果表多的话,这种工作量可能比较大

方法2 设置环境变量

使用下面代码,修改当前用户的search_path

alter user root set search_path = "$user", postgres,public;

可以根据自己需要,增加需要搜索的SCHEMA

http://www.yayakq.cn/news/488193/

相关文章:

  • 二次网站开发平台用wix做外贸网站
  • 民治营销网站手机挣钱最快的软件
  • 家里做网站买什么服务器好网页美工制作网站
  • 做网站一般什么问题企业网站建设北京
  • 郸城建设银行网站广西网站建设费用
  • 杰奇小说网站建设宁波住房和建设局网站首页
  • 金融公司网站建设wordpress文章折叠
  • 建网站的工具从本地服务入手做本地网站
  • 建设网站选什么地方的主机门窗网站建设
  • 动态ip可以做网站wordpress安装主题后无法查看媒体
  • 网站的类型有哪几种我想自己建立一个网站
  • 东台建设企业网站建设充值网站多钱
  • 营销型网站页面摸板长网页网站
  • 帝国cms做微网站做服装设计兼职的网站
  • 检测网站速度网站制作 西安
  • 广州网站建设新锐淘宝网站建设费用
  • 郑州网站建设氵汉狮网络做的网站没流量吗
  • 做网站的qq兼职做公司网站的时间
  • 网站用户 分析网站商城app建设方案
  • 烟台网站制作方案网络关键词
  • 网站建设商城 买模板网站建设大作业感想
  • 网站备案查询工信部官网喜欢做网站
  • 响应式mvc企业网站源码厦门律师网站建设
  • 南京网站制作的价格seo0577
  • 木门东莞网站建设技术支持贵州省住房城乡建设厅网站
  • wordpress如何看网页地址百度网站免费优化软件下载
  • 制作头像生成器seo外包公司怎么样
  • 思淘网站建设wordpress get_taxonomy
  • 网站开发方案ppt南京电信网站备案
  • 免费制作个人简历的网站软件开发属于什么专业