数据库——postgresql数据库中standard_conforming_strings对‘\\’的影响
问题描述:一直用正则表达式 ('\\d{10}')来查询以数字开头的,并且是十个数字的值,‘ \\d ’代表的是以数字开头,一直都是ok的,突然有一天‘ \\d ’不再起作用,查了一上午都没发现是什么原因,问数据库管理人员才知道前天晚上数据库进行了升级,从9.1升级到了9.5.然后向这个方向去调查,发现standard_conforming_strings对‘\\’的影响。
standard_conforming_strings功能简介
如果服务器的编码格式为UTF-8 ,则应用Unicode转义。
而在Unicode转义语法中,反斜杠后的任何其他字符均按字面意义使用。因此,要包含反斜杠字符,请写两个反斜杠(\\
)。即想要表达‘\d’的含义,在sql文中要写‘ \\d ’。
同样,仅在打开配置参数standard_conforming_strings时,字符串常量的Unicode转义语法才起作用。这是因为该语法可能会使解析SQL语句的客户端感到困惑,以至于可能导致SQL注入和类似的安全问题。如果参数设置为off,则此语法将被拒绝并显示一条错误消息。要从字面上包括转义字符,请将其写入两次
解决办法:sql文没有问题,或者说不改变sql文,找到postgresql.conf(路径D:\Program Files\PostgreSQL\9.6\data,PostgreSQL安装路径下的data文件夹下面)文件,设置standard_conforming_strings=on;(配置文件中standard_conforming_strings这个设置可能前面有个#,代表是注释掉的,去掉就ok了)
警告
如果配置参数standard_conforming_strings为off
,则PostgreSQL可以在常规和转义字符串常量中识别反斜杠转义。但是,从PostgreSQL 9.1开始,默认值为on
,这意味着仅在转义字符串常量中识别反斜杠转义。此行为更符合标准,但是可能会破坏依赖历史行为的应用程序,在该行为中始终识别出反斜杠转义符。解决方法是,可以将此参数设置为off
,但是最好不要使用反斜杠转义来进行迁移。如果您需要使用反斜杠转义符来表示特殊字符,请使用编写字符串常量E
。
除之外standard_conforming_strings
,配置参数escape_string_warning和backslash_quote还控制字符串常量中反斜杠的处理。
数据库——postgresql数据库中standard_conforming_strings对‘\\’的影响相关推荐
- linux postgresql 恢复数据库,PostgreSQL数据库备份和恢复
一.备份 1.cmd到PostgreSQL安装目录bin下 2.备份命令 pg_dump -h 192.168.100.23 -U postgres postgres > D:\postgres ...
- Spring Boot中使用PostgreSQL数据库
在如今的关系型数据库中,有两个开源产品是你必须知道的.其中一个是MySQL,相信关注我的小伙伴们一定都不陌生,因为之前的Spring Boot关于关系型数据库的所有例子都是对MySQL来介绍的.而今天 ...
- 详解PostgreSQL数据库中的两阶段锁
点击上方"蓝字" 关注我们,享更多干货! 数据库中的对象是共享的,假如不同的用户同时修改某个对象,就会出现数据错乱,从而破坏数据库的数据一致性,违反事务的隔离性原则. 为了满足隔离 ...
- VS2022,C#中对PostgreSQL数据库增删改查实例记录
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.c#在VS中连接PostgreSQL数据库 二.使用步骤 1.引入库 2.设置连接 3.然后新建一个类文件,开始写 ...
- pg_restore - 从一个由 pg_dump 创建的备份文件中恢复 PostgreSQL 数据库。
SYNOPSIS pg_restore [ option...] [ filename] DESCRIPTION 描述 pg_restore 是一种用于恢复由 pg_dump(1) 创建的任何非纯文本 ...
- Ubuntu中zabbix 4.2.6监控postgresql数据库
实验环境: zabbix 4.2.6 postgres 9.6.6 Ubuntu 16.04 LTS 监控模板地址 :https://share.zabbix.com/index.php?option ...
- PostgreSQL 数据库中 DISTINCT 关键字的 4 种用法
文章目录 DISTINCT DISTINCT ON IS DISTINCT FROM 聚合函数与 DISTINCT 大家好,我是只谈技术不剪发的 Tony 老师.PostgreSQL 不但高度兼容 S ...
- pg数据库执行sql文件_在linux中Postgresql数据库如何执行脚本文件
在linux中Postgresql数据库如何恢复数据库?执行sql脚本文件呢?具体步骤如下: 一.恢复数据库备份文件 1.将数据库备份文件xxx.backup用连接工具拷贝到/opt下,这个不固定,位 ...
- 【PostgreSQL与UDIG】Udig导入Postgresql数据库中矢量数据无法显示的问题
Udig导入Postgresql数据库中矢量数据无法显示的问题 编程小白,记录学习中遇到的问题,希望可以帮助到其他的人. 一.问题描述 -----首先利用PostGIS将矢量数据导入postgreSQ ...
最新文章
- 知识图谱升温之势已现,不要错失下一个AI风口
- 分布式存储 Ceph 介绍及原理架构分享--云平台技术栈系列01
- 【干货】Oracle数据库常用十一大操作指令
- 前端学习(3310):redux的state hook对象
- macaca使用中问题解决方法整理
- python循环次数查询_大数据量Mysql查询后经过循环使用python分片
- 1stopt(应用集锦)
- css实现两列容器等高布局,CSS等高布局的实现方法
- Intel vPro
- STM32F103C8T6+LD3320语音识别模块智能灯控
- 谷歌浏览器获取摄像头
- C# .Net 邮箱发送含附件方法
- 美白宫高级顾问遭CWA黑客组织网络攻击
- 剪辑视频哪个好用 简单好上手的剪辑视频软件推荐
- npm i安装包依赖时 gyp ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env
- HTML中的滚动条/去掉滚动条
- 你永远赚不到,超出认知范围外的钱
- 在notepad++打开文件夹目录全局替换
- 计算机组少年宫安全应急预案,拱墅区第十三届中小学生“运河之星”科技节紧急事件应急预案...
- 可调稳压电源lm317实验报告_LM317可调稳压电源制作报告
热门文章
- 雷军的那次「辞职」,决定了他现在的「成功」
- Loadrunner场景设计之场景计划
- matlab 绘制任意方向和位置的空间圆锥体
- ubuntu | 用crossover安装-微信和企业微信
- word中如何设置默认英文字体和中文字体
- Eclipes安装plugin插件
- php 必须实现方法,php – 错误:类必须声明为抽象或实现其余的方法
- css篇-盒子模型理解
- python-django-03-django-ORM入门
- java聊天室报告ppt_基于JavaWeb聊天室设计与实现毕业论文+任务书+中期表+中期报告+项目源码+数据库+答辩PPT...