web-dev-qa-db-fra.com

Comment déterminer le classement d'une table dans PostgreSQL?

Je veux faire un script de vérification des classements utilisés sur mes tables dans PostgreSQL, mais googler pour Postgresql detect collation ne fonctionne pas bien pour moi et la documentation ne facilite pas la recherche.

Quelqu'un peut-il me dire comment je vérifierais cela?

20
Jeremy Holovacs

Pour vérifier les classements non par défaut sur les colonnes, vous pouvez utiliser la requête suivante:

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;

Pour trouver le classement de la base de données, vous devez interroger pg_database:

select datname, 
       datcollate
from pg_database;

Voici les pages pertinentes du manuel PostgreSQL:

27

En plus de la réponse de a_horse_with_no_name, si vous souhaitez le classement de la base de données à laquelle vous êtes actuellement connecté, vous pouvez utiliser la requête suivante:

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