我注意到在法语集群安装中,一些消息和代码是用法语编写的(并非全部)。我需要知道这些信息的英文版和法文版的对应关系。 有人给我这个页面:https://babel.postgresql.org/ 但在文件“postgres.pot”中,错误类(警告、错误、致命、恐慌...)的条目是空的:
#: utils/error/elog.c:3243
msgid "STATEMENT: "
msgstr ""
#: utils/error/elog.c:3636
msgid "DEBUG"
msgstr ""
#: utils/error/elog.c:3640
msgid "LOG"
msgstr ""
#: utils/error/elog.c:3643
msgid "INFO"
msgstr ""
#: utils/error/elog.c:3646
msgid "NOTICE"
msgstr ""
#: utils/error/elog.c:3650
msgid "WARNING"
msgstr ""
#: utils/error/elog.c:3653
msgid "ERROR"
msgstr ""
#: utils/error/elog.c:3656
msgid "FATAL"
msgstr ""
#: utils/error/elog.c:3659
msgid "PANIC"
msgstr ""
所以问题是:PG中是否有任何表格可以让我找到英语版本和语言版本之间的对应翻译;
error or warning messages
severity code (FATAL, PANIC, ERROR...)
?
或者任何文件(如果没有表格)...
我的错误文件示例:
023-11-27 00:00:23.557 CET [40408] ATTENTION: autovacuum worker started without a worker entry
2023-11-27 00:00:49.203 CET [53116] ATTENTION: autovacuum worker started without a worker entry
2023-11-27 00:02:35.898 CET [12100] ATTENTION: le worker de l'autovacuum a pris trop de temps pour démarrer ; annulé
2023-11-27 00:03:38.703 CET [12100] ATTENTION: le worker de l'autovacuum a pris trop de temps pour démarrer ; annulé
表示消息级别的字符串(在您的情况下为
ATTENTION
)由数据库服务器上的lc_messages
区域设置确定。没有 SQL 函数来翻译它们。对于翻译,您必须查看 PostgreSQL 源中相应的 PO 文件。如果是法语,则为 src/backend/po/fr.po
,您将在其中找到以下几行:
#: utils/error/elog.c:3324
msgid "WARNING"
msgstr "ATTENTION"
这意味着(默认)英文消息
WARNING
将在法语中显示为 ATTENTION
。
我的建议是始终使用
lc_messages=C
来获取英文日志文件。这样,如果您使用网络搜索来了解有关错误消息的更多信息,您将获得最佳结果。