May 24, 2023 By Matthew Rathbone *

If you’re working with databases in PostgreSQL, you may have come across a situation where you need to remove a foreign key constraint. Perhaps you accidentally created the constraint, or maybe you need to make a change to your schema. Whatever the reason, in this post, I’ll show you how to drop a foreign key constraint in PostgreSQL.

A Database Manager That Is Modern, Fast, & Easy To Use

Tried a few tools. Beekeeper was the only one that I found that felt right. Most had a very 1990's feel to them - Allan

I built Beekeeper Studio because, like Allan, I wanted something more intuitive and modern than all the existing clunky apps I could find. My customers agree - they love using Beekeeper and they tell me every day! Give it a try, I bet you'll like it too.

Beekeeper's Linux version is 100% full-featured, no cut corners, no feature compromises.

What is a Foreign Key Constraint?

A foreign key constraint is a way to enforce referential integrity in a database. It creates a link between two tables, such that a record in one table can only refer to a record in another table if that record exists. For example, if you have a table of customers and a table of orders, you might want to ensure that every order has a corresponding customer. You would do this by creating a foreign key constraint on the customer_id column in the orders table, which references the id column in the customers table.

How to Drop a Foreign Key Constraint in PostgreSQL

To drop a foreign key constraint in PostgreSQL, you’ll need to use the ALTER TABLE command. This command allows you to modify the structure of a table, including removing a foreign key constraint. Here’s an example of how to drop a foreign key constraint:

ALTER TABLE orders DROP CONSTRAINT fk_orders_customers;

In this example, the constraint fk_orders_customers is being dropped from the orders table. The name of the constraint is the one you specified when you created the constraint, so make sure you use the correct name.


Dropping a foreign key constraint in PostgreSQL is a straightforward process, but it’s important to understand what you’re doing. Make sure you have a backup of your database before making any changes, and test your changes in a development environment before applying them to a production database.

With the right tools and a little bit of know-how, you can easily drop a foreign key constraint in PostgreSQL and make changes to your schema as needed. Happy coding!