PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak uzyskać zapytanie o atrybuty kolumny z nazwy tabeli za pomocą PostgreSQL?

Oto zapytanie do katalogu systemowego, które powinno pobrać wszystko, czego potrzebujesz (z dodatkowym polem klucza podstawowego wrzuconym za darmo).

SELECT DISTINCT
    a.attnum as num,
    a.attname as name,
    format_type(a.atttypid, a.atttypmod) as typ,
    a.attnotnull as notnull, 
    com.description as comment,
    coalesce(i.indisprimary,false) as primary_key,
    def.adsrc as default
FROM pg_attribute a 
JOIN pg_class pgc ON pgc.oid = a.attrelid
LEFT JOIN pg_index i ON 
    (pgc.oid = i.indrelid AND i.indkey[0] = a.attnum)
LEFT JOIN pg_description com on 
    (pgc.oid = com.objoid AND a.attnum = com.objsubid)
LEFT JOIN pg_attrdef def ON 
    (a.attrelid = def.adrelid AND a.attnum = def.adnum)
WHERE a.attnum > 0 AND pgc.oid = a.attrelid
AND pg_table_is_visible(pgc.oid)
AND NOT a.attisdropped
AND pgc.relname = 'TABLE_NAME'  -- Your table name here
ORDER BY a.attnum;

Który zwróci wyniki takie jak:

 num |    name     |             typ             | notnull |       comment       | primary_key 
-----+-------------+-----------------------------+---------+---------------------+-------------
   1 | id          | integer                     | t       | a primary key thing | t
   2 | ref         | text                        | f       |                     | f
   3 | created     | timestamp without time zone | t       |                     | f
   4 | modified    | timestamp without time zone | t       |                     | f
   5 | name        | text                        | t       |                     | f
  • num:numer kolumny
  • nazwa:nazwa kolumny
  • typ:typ danych
  • notnull:Czy kolumna jest zdefiniowana jako NOT NULL?
  • komentarz:Dowolny COMMENT zdefiniowany dla kolumny
  • primary_key:czy kolumna jest zdefiniowana jako PRIMARY KEY?
  • domyślna:Polecenie użyte do określenia wartości domyślnej


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak znaleźć ścieżkę pg_config

  2. Jak stworzyć bazę danych PostgreSQL

  3. 2 sposoby zwracania wierszy zawierających znaki niealfanumeryczne w PostgreSQL

  4. Funkcje ze zmienną liczbą parametrów wejściowych

  5. Początkowa tablica w funkcji agregacji tablicy wielowymiarowej