In PostgreSQL, I have the following table definition
create table file(
file_id int generated by default as identity primary key,
file_name text UNIQUE not null
);
My question is: how do I remove the unique constraint on file_name?
The default naming strategy that Postgres uses is tablename_columnname_key for such a constraint. For CHECK constraints the default name is tablename_columnname_check.
In your case the name would be file_file_name_key.
So you can use
alter table file drop constraint file_file_name_key;
If you don't want to rely on the default naming strategy, you can use the following query to retrieve the name:
select constraint_name
from information_schema.key_column_usage
where table_name = 'file'
and table_schema = 'public'
and column_name = 'file_name';
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With