提问人:Pavel Sala 提问时间:11/13/2023 最后编辑:Pavel Sala 更新时间:11/17/2023 访问量:83
如何在pgAdmin 4的排序规则菜单中添加更多项目?
How add more items into collation menu in pgAdmin 4?
问:
我想在 pgAdmin(Widnows 10 上的 PostgreSQL 16)中创建一个新数据库,但我只能从 3 个项目中选择数据库排序。
如果我列出可用的排序规则
select *
from pg_collation pgc
,共有 2245 条记录。
我一直在寻找解决方案,但其他人都没有这个问题。 是否可以在排序规则组合框中编辑项目?
谢谢。 聚苯乙烯
[更新]我使用查询widnow创建了一个新数据库。我选择了“cs_CZ。UTF-8“用于 COLLATE 和 CTYPE。数据库已创建,但定义选项卡中没有排序规则和字符类型的值。
这正常吗? 我也许应该阅读一些关于PostgreSQL数据库的基本信息,因为现在我有点失望。我在以前的项目中使用了 Firebird 数据库,没有这样的障碍。
也许 Postgre 16 太“年轻”了,最好使用版本 15?或者 pgAdmin 不是最好的工具,我应该尝试 DBeaver? 你觉得怎么样?
答:
您使用的是 PostgreSQL 15 之前的旧版本的 PGAdmin,因此它不会公开所有 CREATE DATABASE
参数,这些参数可让您选择使用这些其他排序规则所需的一组有效参数。您可能需要覆盖locale_provider
locale_provider
指定要用于此数据库中的默认排序规则的提供程序。可能的值为(如果服务器是在 ICU 支持下构建的)或 。默认情况下,提供程序与模板
的提供程序相同。有关详细信息,请参见Section 24.1.4。icu
libc
以及icu_locale
:
icu_locale
指定数据库默认排序规则顺序和字符分类的 ICU 区域设置(参见第 24.2.2.3.2 节),覆盖设置区域设置
。区域设置提供程序必须是 ICU。默认值为区域设置
(如果已指定);否则,设置与模板数据库相同。
解决方法是,您可以连接到此群集上的任何数据库,打开常规 SQL 窗口并运行以下命令:
create database collation_test2
template template0
encoding 'UTF8'
locale_provider icu
icu_locale 'cs-CZ-x-icu';
或者更新到 PGAdmin 7.7 或更高版本,其中这些参数通过数据库对话框显示。
评论
select version();
select version();
-> PostgreSQL 16.0, compiled by Visual C++ build 1935, 64-bit
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\PostgreSQL 16
评论