我正在开发一个与语言环境相关的功能,为了测试这个功能,我需要使用不同的语言环境设置来运行一些SQL查询。例如。
SET lc_messages to 'en_US.UTF-8';
-- some sql queries;
SET lc_messages to 'fr_FR.UTF-8';
-- some sql queries;在我的Linux机器上,它正在工作,但我们不能总是期望这个设置或任何(除了C或POSIX之外)语言环境在其他平台上都可用。有没有办法绕过这个问题?
发布于 2020-06-12 14:29:23
您有两个选择:
为此,您可以使用以下内容开始测试
SELECT (SELECT count(*) FROM pg_collation WHERE collname = 'fr_FR.UTF-8') =0作为skip_test \gset \if :skip_test \quit
然后为这种情况提供一个替代的“预期结果文件”。如果区域设置不存在,
如果你只针对Linux系统,这可能是一个很好的解决方案。
如果您的目标也是Windows,那么在失败之前,您也应该尝试使用它们的区域设置名称。
https://stackoverflow.com/questions/62337842
复制相似问题