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

Jak znaleźć nazwę ograniczenia w PostgreSQL

Problem:

Chcesz znaleźć nazwy ograniczeń w tabeli w PostgreSQL.

Przykład:

Chcemy wyświetlić nazwy ograniczeń w tabeli student .

Rozwiązanie:

SELECT conname, contype
FROM pg_catalog.pg_constraint
JOIN pg_class t ON t.oid = c.conrelid
WHERE t.relname ='student';

Oto wynik:

conname typ
student_age_check c
student_pkey p
student_personal_number_key u
student_country_id_fkey f

Dyskusja:

Aby znaleźć nazwę ograniczenia w PostgreSQL, użyj widoku pg_constraint w pg_catalog schemat. Dołącz do widoku pg_catalog.pg_constraint z widokiem pg_class (JOIN pg_class t ON t.oid = c.conrelid ) i użyj relname kolumna, aby filtrować ograniczenia według nazwy tabeli. W naszym przykładzie wybieramy ograniczenia z tabeli student (WHERE t.relname ='student' ).

Wybierz kolumny conname i contype aby zobaczyć nazwę ograniczenia wraz z typem ograniczenia. W kolumnie contype , wartość „p” to klucz podstawowy, „f” to klucz obcy, „u” to UNIQUE ograniczenie, a „c” oznacza CHECK ograniczenie.

Na przykład możesz zobaczyć ograniczenie o nazwie student_pkey dla klucza podstawowego w student stół. contype kolumna informuje o typie ograniczenia, którym dla klucza podstawowego jest p . conname kolumna w tym widoku informuje również o tabeli zawierającej to ograniczenie.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL:Równoległość zapytań w działaniu

  2. Zapytanie do ORDER BY liczba wierszy zwróconych z innego SELECT

  3. Jaki jest format ciągu połączenia / adresu URL PostgreSQL?

  4. Śledzenie wysokiej dostępności PostgreSQL za pomocą funkcji Heartbeat

  5. Policz liczbę dni między 2 datami w JPA