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

Upuść ograniczenie według nazwy w Postgresql

Musisz pobrać nazwy tabel, uruchamiając następujące zapytanie:

SELECT *
FROM information_schema.constraint_table_usage
WHERE table_name = 'your_table'

Alternatywnie możesz użyć pg_constraint aby pobrać te informacje

select n.nspname as schema_name,
       t.relname as table_name,
       c.conname as constraint_name
from pg_constraint c
  join pg_class t on c.conrelid = t.oid
  join pg_namespace n on t.relnamespace = n.oid
where t.relname = 'your_table_name';

Następnie możesz uruchomić wymaganą instrukcję ALTER TABLE:

ALTER TABLE your_table DROP CONSTRAINT constraint_name;

Oczywiście możesz sprawić, że zapytanie zwróci pełną instrukcję alter:

SELECT 'ALTER TABLE '||table_name||' DROP CONSTRAINT '||constraint_name||';'
FROM information_schema.constraint_table_usage
WHERE table_name in ('your_table', 'other_table')

Nie zapomnij uwzględnić schematu table_schema w klauzuli WHERE (i instrukcji ALTER), jeśli istnieje wiele schematów z tymi samymi tabelami.



  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 skonfigurować PostgreSQL do korzystania z uwierzytelniania Windows?

  2. Jak tworzyć zapytania bez uwzględniania wielkości liter w Postgresql?

  3. Łącz/scal wartości tablicy podczas grupowania/agregacji

  4. Jak zapytać o UUID dla postgres

  5. Rekurencyjne zapytanie Postgres z row_to_json