postgresql - PostgreSQL COLLATE 和字符类型 - 在澳大利亚托管的 RDS 服务中使用的值
问题描述
我们在 AWS 悉尼 (ap-southeast-2) 中使用 Aurora RDS PostgreSQL 数据库
该应用程序需要 UTF-8 编码。
排序规则和字符类型应该是什么?
LC_COLLATE="en_AU.UTF-8"
LC_CTYPE="en_AU.UTF-8"
使用en_US.UTF-8而不是en_AU.UTF-8有什么影响吗?
到目前为止,我无法根据我的搜索得出结论。
我使用 AWS 控制台(用于 RDS)时的默认值是 en_US。基于此,我猜测它应该很好,但是希望在这里听取专家关于任何潜在问题/陷阱的意见。
有几个问题讨论了 C.UTF-8 和 en_US.UTF-8 之间的区别,但我看不到 en_US.UTF-8 和 en_AU.UTF-8 之间的任何查询/答案。
此处列出了我试图获得一些见解的该空间中的一些问答,以供快速参考:
https://dba.stackexchange.com/questions/46408/how-to-choose-a-collation-for-international-database
https://dba.stackexchange.com/questions/211544/postgres-encoding-collation-and-ctype
注意: Cross 在DBA Stack 交换中发布了这个。
解决方案
“en_US.UTF-8 而不是 en_AU.UTF-8”:- 这些只是 2 个不同语言环境的 UTF-8 变体。有人会使用 en_AU.UTF-8,因为他们想使用澳大利亚英语而不是美国英语,但两者都使用 UTF-8 编码。我能想到的唯一开销很小的就是服务器和客户端之间的自动字符转换:- https://www.postgresql.org/docs/10/multibyte.html#id-1.6.10.5.7什么都没有Stock Postgres 和 Aurora Postgres 之间的排序规则和字符类型不同。
推荐阅读
- c# - MSAL 与 Microsoft.Owin.Security.OpenIdConnect 有什么关系?
- django - Django 的自定义身份验证中间件和身份验证后端
- angular - Angular FlexLayout Cards 相同的布局
- c - ATmega2560 - 使用定时器通过多个按钮闪烁 LED
- xslt - 如果从 p 元素处理指令节点开始,那么如何将处理指令位置 [1] 移动到 p 元素之前?- XSLT
- javascript - 圆形滑块上的三个点
- javascript - 如何使用 Webpack serve 和 DevServer --open 选项打开 Firefox 开发者版?
- amazon-web-services - 我应该禁用 EC2 访问外部网络以提高安全性吗?
- telegram-bot - 我的电报网站登录小部件停止工作。如何为最近更新的浏览器设置第三方 cookie?
- c - 将字符串从一个文本文件复制到另一个文本文件时,不会复制原始文件中的最后一行