web-dev-qa-db-ja.com

PostgreSQLのテーブルの照合をどのように決定しますか?

PostgreSQLのテーブルで使用されている照合のチェックをスクリプト化したいのですが、Postgresql detect collationは私にはうまく機能していません。また、ドキュメントにより、これを簡単に検索することができません。

誰が私がこれをチェックするかを教えてもらえますか?

20
Jeremy Holovacs

列のデフォルト以外の照合をチェックするには、次のクエリを使用できます。

select table_schema, 
       table_name, 
       column_name,
       collation_name
from information_schema.columns
where collation_name is not null
order by table_schema,
         table_name,
         ordinal_position;

データベースの照合順序を見つけるには、pg_databaseをクエリする必要があります。

select datname, 
       datcollate
from pg_database;

PostgreSQLマニュアルの関連ページは次のとおりです。

27

A_horse_with_no_nameの回答に加えて、現在接続しているデータベースの照合が必要な場合は、次のクエリを使用できます。

SELECT datcollate AS collation
FROM pg_database 
WHERE datname = current_database();
0
Daniel Samuels