information_schema

Definitionen af en PostgreSQL database ligger i systemtabeller i databasen.

Adgang til disse foregår gennem information_schema. Fra pgAdmin ses den under:

  • Catalogs -> ANSI -> Catalog Objects

Mest anvendte er:

  • tables (tabeller og views)
  • columns (kolonner)
  • key_column_usage (primær, fremmed eller unik nøgler)
  • table_constraints (definition af constraints)

Eksempel - vis oplysning om alle fremmednøgleconstraints i databasen:

SELECT 
  tc.constraint_name,
  kcu.table_name,
  kcu.column_name,
  ccu.table_name,
  ccu.column_name
FROM 
  information_schema.key_column_usage kcu JOIN
  information_schema.table_constraints tc ON (kcu.constraint_name = tc.constraint_name AND tc.constraint_type='FOREIGN KEY') JOIN
  information_schema.constraint_column_usage ccu ON (ccu.constraint_name = tc.constraint_name)

Der findes også et pg_catalog postgres metadata katalog, men benyt så vidt muligt information_schema.

results matching ""

    No results matching ""