在 Postgres 中使用抛光命令字符串
Order Strings with polish in Postgres
按某些包含波兰语字母的字符串字段对实体进行排序的最佳方法是什么?
有没有办法用 Spring 数据做到这一点?为此,我可以将 Locale 添加到 Pageabe 中吗?:
Page<Collection> findByInstitutionIdAndIsDeletedFalse(Long institutionId, Pageable pageable);
和
Sort.Order entityOrder = Sort.Order.by("title").ignoreCase();
PageRequest pageable = PageRequest.of(page, perPage, Sort.by(entityOrder));
当我这样做时,我有:
- 阿拉斯加
- 拉尔卡
- termos
- 欧日科
但是“łóżko”应该在“lalka”之后。
我尝试更改 Postgres 数据库中的语言环境,但它对 db1 和 db2 都不起作用。
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+------------+------------+-----------------------
db1 | user | UTF8 | pl_PL | pl_PL |
db2 | user | UTF8 | pl_PL.utf8 | pl_PL.utf8 |
db3 | user | UTF8 | en_US.utf8 | en_US.utf8 |
感谢您的任何建议!
好的,我已经将 postgres 版本从 alpine 更改为 9.6,并且在 Dockerfile 中我有这些行:
RUN localedef -i pl_PL -c -f UTF-8 -A /usr/share/locale/locale.alias pl_PL.UTF-8
ENV LANG PL_PL.utf8
ENV LC_ALL="pl_PL.UTF-8"
ENV LC_CTYPE="pl_PL.UTF-8"
现在可以正常使用了,而且我的命令正确。但我仍然想知道如何从 docker-compose 文件构建我的 postgres。
按某些包含波兰语字母的字符串字段对实体进行排序的最佳方法是什么? 有没有办法用 Spring 数据做到这一点?为此,我可以将 Locale 添加到 Pageabe 中吗?:
Page<Collection> findByInstitutionIdAndIsDeletedFalse(Long institutionId, Pageable pageable);
和
Sort.Order entityOrder = Sort.Order.by("title").ignoreCase();
PageRequest pageable = PageRequest.of(page, perPage, Sort.by(entityOrder));
当我这样做时,我有:
- 阿拉斯加
- 拉尔卡
- termos
- 欧日科
但是“łóżko”应该在“lalka”之后。
我尝试更改 Postgres 数据库中的语言环境,但它对 db1 和 db2 都不起作用。
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+------------+------------+-----------------------
db1 | user | UTF8 | pl_PL | pl_PL |
db2 | user | UTF8 | pl_PL.utf8 | pl_PL.utf8 |
db3 | user | UTF8 | en_US.utf8 | en_US.utf8 |
感谢您的任何建议!
好的,我已经将 postgres 版本从 alpine 更改为 9.6,并且在 Dockerfile 中我有这些行:
RUN localedef -i pl_PL -c -f UTF-8 -A /usr/share/locale/locale.alias pl_PL.UTF-8
ENV LANG PL_PL.utf8
ENV LC_ALL="pl_PL.UTF-8"
ENV LC_CTYPE="pl_PL.UTF-8"
现在可以正常使用了,而且我的命令正确。但我仍然想知道如何从 docker-compose 文件构建我的 postgres。