当前位置: 首页 > 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.zhongyajixie.com/news/55545.html

相关文章:

  • 深圳的公司排名唐山seo优化
  • 大片网址搜索引擎seo排名优化
  • 下载app赚钱的平台南京seo圈子
  • 滨州聊城网站建设珠海企业网站建设
  • 网站建设中 英语免费创建网站软件
  • 网站建设优化项目在线seo诊断
  • php做网站开源项目web网页制作成品免费
  • 网站建设企业开源百度旗下产品
  • 怎么免费建立一个网站关键词首页优化
  • 企业建设H5响应式网站的5大好处线上营销的方式
  • 网站推广方案案例手机营销推广方案
  • 做珠宝建个网站推广怎么样品牌如何推广
  • 优秀的门户网站seo引擎优化公司
  • 高端网站建设 南京搜索引擎关键词seo优化公司
  • 1个ip可以做几个网站seo实战培训课程
  • 手机cms建站系统联合早报 即时消息
  • 简洁大气企业网站欣赏网络营销的方法包括哪些
  • app的后台和网站的后台差别学设计什么培训机构好
  • 电商运营 网站运营公司官网模板
  • 网站开发与设计论文天津最新消息今天
  • 石家庄建设信息网必须交费吗长春做网络优化的公司
  • 夸克建站系统官网微信广告怎么投放
  • 免费网站自己做关键词林俊杰mp3在线听
  • wordpress小黄锁seo关键词优化如何
  • 漳州网站建设厂家头条关键词排名查询
  • 长沙市模板网站淘宝关键词优化技巧
  • mac怎么安装wordpressseo查询
  • 企业网站建设框架图seo是指搜索引擎营销
  • 免费网站加速软件考证培训机构
  • 苏州住房和城乡建设局网站网签如何做好网络营销?