私はtranslate関数を使って、検索アクセントを区別しないで処理します。これは、postgresの9.1と正常に動作しますが、9.0で動作しないようですPostgres 9.0 + translate関数とasciiコード
CREATE INDEX person_lastname_ci_ai_si
ON person
USING btree
(translate(upper(lastname::text), '\303\200\303\201\303\202\303\203\303\204\303\205\303\206\303\207\303\210\303\211\303\212\303\213\303\214\303\215\303\216\303\217\303\221\303\222\303\223\303\224\303\225\303\226\303\230\303\231\303\232\303\233\303\234\303\235\303\237\303\240\303\241\303\242\303\243\303\244\303\245\303\246\303\247\303\250\303\251\303\252\303\253\303\254\303\255\303\256\303\257\303\261\303\262\303\263\303\264\303\265\303\266\303\270\303\271\303\272\303\273\303\274\303\275\303\277'::text, 'AAAAAAACEEEEIIIINOOOOOOUUUUYSaaaaaaaceeeeiiiinoooooouuuuyy'::text)
);
:この要求を向上させるために 、私は、一致指数を作成しました。 のPostgres 9.0には、私のコードはASCIIコードを使用して検索を実行し、それがインデックスを使用しないため...
がへの道があり、その後
ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïñòóôõöøùúûüýÿ
によって
'\303\200\303\201\303\202\303\203\303\204\303\205\303\206\303\207\303\210\303\211\303\212\303\213\303\214\303\215\303\216\303\217\303\221\303\222\303\223\303\224\303\225\303\226\303\230\303\231\303\232\303\233\303\234\303\235\303\237\303\240\303\241\303\242\303\243\303\244\303\245\303\246\303\247\303\250\303\251\303\252\303\253\303\254\303\255\303\256\303\257\303\261\303\262\303\263\303\264\303\265\303\266\303\270\303\271\303\272\303\273\303\274\303\275\303\277'
を置き換えるようですインデックス作成時にポストグルがアスキーコードを文字に変換しないようにするには?例えば
:
select '\303\200\303\201\303\202\303\203\303\204\303\205\303\206\303\207\303\210\303\211\303\212\303\213\303\214\303\215\303\216\303\217\303\221\303\222\303\223\303\224\303\225\303\226\303\230\303\231\303\232\303\233\303\234\303\235\303\237\303\240\303\241\303\242\303\243\303\244\303\245\303\246\303\247\303\250\303\251\303\252\303\253\303\254\303\255\303\256\303\257\303\261\303\262\303\263\303\264\303\265\303\266\303\270\303\271\303\272\303\273\303\274\303\275\303\277'
。
結果
ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïñòóôõöøùúûüýÿ
は、どのように私はこの結果を持つことができますか?
\303\200\303\201\303\202\303\203\303\204\303\205\303\206\303\207\303\210\303\211\303\212\303\213\303\214\303\215\303\216\303\217\303\221\303\222\303\223\303\224\303\225\303\226\303\230\303\231\303\232\303\233\303\234\303\235\303\237\303\240\303\241\303\242\303\243\303\244\303\245\303\246\303\247\303\250\303\251\303\252\303\253\303\254\303\255\303\256\303\257\303\261\303\262\303\263\303\264\303\265\303\266\303\270\303\271\303\272\303\273\303\274\303\275\303\277
ご協力いただきありがとうございます。 \ 303 \ 200 \ 303 \ 201 \ 303 \ 202 \ 303 \(...) 'を選択します。\ 303 \ 200 \ 303 \ 201 \ 303 \ 202 \ 303 \(...)' - >しかし、索引person_firstnamebegin_ci_ai_siを作成する人はbtree(translate(substr(upper)(firstname :: text、 ':: text、' :: text))、1、1)、 '\\ 303 \\ 200 \\ 303 \\ 201 \\ 303 \\ 202 \\ 303 \\ 203 \\ 303 \\ 204 \\ 303(...)単一のスラッシュでインデックスを作成しても、単純スラッシュの代わりにスラッシュ値を2倍したインデックスを作成します。 –
PGADMINは単純スラッシュの代わりにダブルスラッシュを使用してインデックスを表示しますが、ご協力いただきありがとうございます –