Oğu*_*pçu 2 postgresql collation
我创建了一个带有土耳其语排序规则的数据库。
\n\ncreatedb -l tr_TR test_tr -E LATIN5 -T template0\n
Run Code Online (Sandbox Code Playgroud)\n\n然后是一张有一行的桌子。
\n\n\\c test_tr \ncreate table turkish(one text);\ninsert into turkish values(\'inci\');\n
Run Code Online (Sandbox Code Playgroud)\n\n一切都在预料之中。
\n\ntest_tr=# \\l\n List of databases\n Name | Owner | Encoding | Collate | Ctype | Access privileges \n------------+----------+----------+-------------+-------------+-----------------------\n test_tr | postgres | LATIN5 | tr_TR | tr_TR | \n
Run Code Online (Sandbox Code Playgroud)\n\n问题是,我期望 \xc4\xb0NC\xc4\xb0 但它给了我 INCI。这对于土耳其语来说是错误的。
\n\ntest_tr=# select upper("one") from turkish ;\n upper \n-------\n INCI\n(1 row)\n
Run Code Online (Sandbox Code Playgroud)\n\n事实证明,默认排序规则仍然是英语。
\n\ntest_tr=# select upper("one" collate "tr_TR"),upper("one"), "one" from turkish ;\n upper | upper | one \n-------+-------+------\n \xc4\xb0NC\xc4\xb0 | INCI | inci\n
Run Code Online (Sandbox Code Playgroud)\n\n我知道这可以通过在创建表时提供 tr_TR 排序规则来解决,如下所示:
\n\ncreate table turkish (one text collate "tr_TR"); \n
Run Code Online (Sandbox Code Playgroud)\n\n所以问题是:
\n\n有什么方法可以设置 Postgresql 用于表创建的默认排序规则吗?这样,我可以在每个表创建脚本上省略不必要的排序规则规范。
\n小智 5
你必须在数据库创建时定义它,尝试这样:
\n\npostgres=# create database lctest encoding UTF8 LC_COLLATE \'tr_TR.utf8\' LC_CTYPE \'tr_TR.utf8\' template template0;\nCREATE DATABASE\npostgres=# \\l\n List of databases\n Name | Owner | Encoding | Collate | Ctype | Access privileges \n -----------------------------------+----------------+----------+-------------+-------------+-----------------------\n en_US.UTF-8 | lctest | postgres | UTF8 | tr_TR.utf8 | tr_TR.utf8 | \n\npostgres=# \\c lctest\nYou are now connected to database "lctest" as user "postgres".\nlctest=# create table lc_test (one varchar(10));\nCREATE TABLE \nlctest=# insert into lc_test values (\'inci\');\nINSERT 0 1\nlctest=# select upper(one) from lc_test ;\n upper\n-------\n \xc4\xb0NC\xc4\xb0\n(1 row) \n
Run Code Online (Sandbox Code Playgroud)\n\n希望这会有所帮助\nMarcoP。
\n 归档时间: |
|
查看次数: |
14182 次 |
最近记录: |