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.

👋 Check out our easy to use desktop GUI for SQL

Beekeeper Studio is a truly cross-platform SQL GUI with a clean, uncluttered interface. Write SQL, edit data, alter tables, and more!

Available for MacOS, Linux, and Windows.

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!