存储在Postgres数据库中的单引号

时间:2016-11-19 01:31:48

标签: postgresql express quotes pg-dump postgresql-copy

我一直在开发一款Express应用程序,其中包含一个用于存放行和引号的表单。

有些行会有单引号('),但总体而言,它可以存储信息,我可以备份并存储它而不会出现任何问题。现在,当我想要做pg_dump并将数据库放入SQL文件时,引号似乎会导致某些内容在我的文本编辑器中显得有点不可思议。

我是否必须创建一个方法将所有单引号更改为double,或者我可以保留原样并能够将其上传回数据库而不会导致重大问题。我知道人们会继续输入包含单引号或双引号的行,所以我想知道任何可能有用的解决方案或答案。

1 个答案:

答案 0 :(得分:2)

字符数据类型中的单引号完全没问题。你只需要在字符串文字中正确地转义它们。

要使用INSERT写入数据,您需要根据SQL语法规则引用所有字符串文字。有工具可以帮到你......

然而pg_dump负责自动转义。默认模式使用 COPY 重新导入文本输出(比INSERT快得多),单引号在那里没有特殊含义。在(非默认)csv模式下,默认引号字符是双引号(")并且是可配置的。 The manual:

  

QUOTE

     

指定引用数据值时要使用的引用字符。默认为双引号。这必须是单个单字节字符。仅在使用CSV格式时才允许使用此选项。

格式由COPY的规则定义,而不是由SQL语法规则定义。