19.13. 版本和平台兼容性

19 .13.1. 先前的 PostgreSQL 版本

请注意,即使此变量为off,也可以创建包含空值的数组值。

请注意,在符合标准的字符串 Literals 中,\始终表示\。此参数仅影响对不符合标准的 Literals 的处理,包括转义字符串语法(E'...')。

不建议在用户表中使用 OID,因此大多数安装应禁用此变量。需要特定表的 OID 的应用程序在创建表时应指定WITH OIDS。可以启用此变量以与不遵循此行为的旧应用程序兼容。

希望将反斜杠用作转义的应用程序应修改为使用转义字符串语法(E'...'),因为根据 SQL 标准,普通字符串的默认行为现在是将反斜杠视为普通字符。可以启用此变量来帮助查找需要更改的代码。

设置此变量不会禁用与大对象相关的所有安全检查,仅禁用那些默认行为在 PostgreSQL 9.0 中已更改的安全检查。例如,不管此设置如何,lo_import()lo_export()都需要超级用户特权。

有关更多信息,请参见Section 4.1.6

19 .13.2. 平台和 Client 端兼容性

但是,Microsoft Access 中过滤的表单会生成查询,这些查询似乎使用expr = NULL来测试空值,因此,如果您使用该接口访问数据库,则可能需要打开此选项。由于形式expr = NULL的表达式始终返回空值(使用 SQL 标准解释),因此它们不是很有用,并且在普通应用程序中不经常出现,因此此选项在实践中几乎没有危害。但是新用户经常对涉及空值的表达式的语义感到困惑,因此默认情况下此选项处于关闭状态。

请注意,此选项仅影响精确的形式= NULL,而不影响其他比较运算符或与包含 equals 运算符的某些表达式在计算上等效的其他表达式(例如IN)。因此,此选项不是错误编程的一般解决方案。

有关相关信息,请参阅Section 9.2

上一章 首页 下一章