Postgres列别名是否有任何限制?

DNS*_*DNS 13 sql postgresql column-alias

对于Postgres列别名的名称,在长度,包含非ASCII字符的能力等方面是否有任何限制?从版本8.1到现在,这些限制是否有任何变化?

Mik*_*ll' 18

a_horse_with_no_name说的是什么.通常,您可以通过将URL中的"current"替换为版本号来查看文档的某些早期版本.但是8.1的文档在手册存档中.

8.1

SQL标识符和关键字必须以字母(az,但带有变音符号和非拉丁字母的字母)或下划线(_)开头.标识符或关键字中的后续字符可以是字母,下划线,数字(0-9)或美元符号($).请注意,根据SQL标准的字母,标识符中不允许使用美元符号,因此它们的使用可能会降低应用程序的可移植性.SQL标准不会定义包含数字或以下划线开头或结尾的关键字,因此此表单的标识符可以安全地防止可能与标准的未来扩展冲突.

9.4

SQL标识符和关键字必须以字母(az,但带有变音符号和非拉丁字母的字母)或下划线(_)开头.标识符或关键字中的后续字符可以是字母,下划线,数字(0-9)或美元符号($).请注意,根据SQL标准的字母,标识符中不允许使用美元符号,因此它们的使用可能会降低应用程序的可移植性.SQL标准不会定义包含数字或以下划线开头或结尾的关键字,因此此表单的标识符可以安全地防止可能与标准的未来扩展冲突.

没变.

以下是此文档的当前版本.写完这个答案后,它可能已经改变了.

  • +1用于努力复制和粘贴手册! (3认同)

a_h*_*ame 13

列别名的规则与常规列名称的规则没有区别.

http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS

SQL标识符和关键字必须以字母(az,但带有变音符号和非拉丁字母的字母)或下划线(_)开头.标识符或关键字中的后续字符可以是字母,下划线,数字(0-9)或美元符号($).关键字和不带引号的标识符不区分大小写.

存在第二种标识符:分隔标识符或带引号的标识符.它是通过用双引号(")括起任意字符序列而形成的.带引号的标识符可以包含任何字符,但代码为零的字符除外.