【问题标题】:What is the difference between C and Posix locales on Postgres?Postgres 上的 C 语言环境和 Posix 语言环境有什么区别?
【发布时间】:2011-01-22 05:46:08
【问题描述】:

我知道 Postgres 上的数据库区域设置负责国家字符的正确顺序、正确的小写/大写等。

但是为什么会有两个中性语言环境:posixc?它们之间有什么区别,还是只是一个具有两个不同名称的中性语言环境?

更新 正如 Magnus Hagander 在他的回答中所说,POSIX 和 C 语言环境是具有不同名称的相同语言环境(无论 Postgres 是安装在 POSIX 还是 Windows 系统上)。我不知道如何确认这些信息 - 在哪里可以找到适当的文档部分?

Magnus 的解释似乎是有道理的,但同时奇怪的是,同一语言环境有两个名称可供选择。 这样做的目的是什么 - 只是为了制造混乱?

【问题讨论】:

    标签: sql database postgresql internationalization locale


    【解决方案1】:

    请注意,PostgreSQL 仅使用操作系统语言环境,并没有它自己的语言环境定义。如果您的系统符合 POSIX,C 和 POSIX 将是完全相同的语言环境:http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap07.html(参见 7.2 下的第一句)。

    【讨论】:

    • 好的,如果 Postgres 安装在 POSIX 兼容系统上,那么 POSIX 语言环境与 C 语言环境相同。但是不合规的系统怎么办? Windows Vista POSIX 兼容吗?我有带有 Postgres 的 Vista 框,但我总是不确定选择 POSIX 或 C - 因为这两个选项都是可能的(在许多其他国家特定的语言环境中)。我应该在哪里找到有关 POSIX 和 C 语言环境的信息 - 这在 Windows Vista 上意味着什么(差异)?
    • C 语言环境在 Windows 上的工作方式应该相同。我不确定 POSIX 语言环境是否存在,但如果确实存在,我希望它以相同的方式工作 - 实现一个名为 POSIX 的语言环境而不使其与 POSIX 兼容是愚蠢的。
    【解决方案2】:

    根据The Single UNIX ® SpecificationPOSIX 和 C 语言环境是别名:

    字符串“C”和“POSIX”保留为 POSIX 语言环境的标识符

    所以它们在 POSIX 系统上保证是相同的。我不知道 Windows Vista 或 7 与 POSIX 兼容到什么程度,但可能在 Microsoft 文档中可以找到类似的定义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-04
      • 1970-01-01
      • 2019-06-25
      • 1970-01-01
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      相关资源
      最近更新 更多