如何在 pgAdmin 4 中添加更多项目到排序菜单中?

问题描述 投票:0回答:1

我想在 pgAdmin 中创建一个新数据库(Widnows 10 上的 PostgreSQL 16),但我只能从 3 个数据库排序项目中进行选择。

如果我列出可用的排序规则

select *
from pg_collation pgc

,共有2245条记录。

Collation menu in pgAdmin

我正在寻找解决方案,但似乎没有其他人遇到这个问题。 是否可以编辑排序组合框中的项目?

谢谢你。 PS

[更新] 我使用查询窗口创建了一个新数据库。我为 COLLATE 和 CTYPE 选择“cs_CZ.UTF-8”。数据库已创建,但定义选项卡中没有排序规则和字符类型值 .

这正常吗? 我也许应该阅读一些有关 PostgreSQL 数据库的基本信息,因为现在我有点失望。我之前的项目使用的是 Firebird 数据库,没有这样的障碍。

也许 Postgre 16 太“年轻”,使用 15 版本会更好?或者 pgAdmin 不是最好的工具,我应该尝试 DBeaver? 你觉得怎么样?

postgresql collation pgadmin-4
1个回答
1
投票

您使用的是 PostgreSQL 15 之前的旧版本 PGAdmin,因此它不会公开所有

CREATE DATABASE
参数,这些参数可让您选择使用其他排序规则所需的一组有效参数。您可能需要覆盖
locale_provider

locale_provider
指定用于此数据库中默认排序规则的提供程序。可能的值为
icu
(如果服务器是在 ICU 支持下构建的)或
libc
。默认情况下,提供者与
template
的提供者相同。详情请参阅第 24.1.4 节

icu_locale

icu_locale
指定数据库默认排序顺序和字符分类的 ICU 语言环境(请参阅第 24.2.2.3.2 节),覆盖设置 locale
区域设置提供者必须是 ICU。如果指定,则默认为 locale
的设置;否则与模板数据库的设置相同。

作为解决方法,您可以连接到此集群上的任何数据库,打开常规 SQL 窗口并运行命令:

create database collation_test2 template template0 encoding 'UTF8' locale_provider icu icu_locale 'cs-CZ-x-icu';
或者更新到 

PGAdmin 7.7 或更高版本,这些参数通过数据库对话框公开。

© www.soinside.com 2019 - 2024. All rights reserved.