You have two tables:
CREATE TABLE customers (
id SERIAL PRIMARY KEY,
full_name TEXT
);
and
CREATE TABLE orders (
order_id SERIAL,
dish_name TEXT,
customer_id INTEGER
);
And you want to make customer_id from orders refer to id from customers.
There are a couple ways to do that.
1. Define the foreign key inside the CREATE TABLE statement
CREATE TABLE orders (
order_id SERIAL,
dish_name TEXT,
customer_id INTEGER REFERENCES customers (id)
);
2. Use a separate ALTER TABLE statement
ALTER TABLE orders
ADD CONSTRAINT fk_orders_customers FOREIGN KEY (customer_id) REFERENCES customers (id);
3. Use TablePlus GUI tool for Postgres
You can create a foreign key directly from the GUI Tool.
- Select to view table
ordersfrom the left sidebar - Switch to
structuretab at the bottom bar - Choose
customer_idcolumn and add a foreign key in the foreign_key field.
Remember to press Cmd + S to commit the changes to the server.

*Need a good GUI Tool for PostgreSQL? TablePlus is a modern, native tool with an elegant UI that allows you to simultaneously manage multiple databases such as MySQL, PostgreSQL, SQLite, Microsoft SQL Server and more. *
Not on Mac? Download TablePlus for Windows.
On Linux? Download TablePlus for Linux
Need a quick edit on the go? Download TablePlus for iOS.
