How to Add Columns to a Table in PostgreSQL

The Postgres database stores data in the form of tables and the table columns specify an attribute for all the database entries. Sometimes we want to insert a column to a table that already exists. This is possible in Postgres. To insert/add a column to a table the ALTER statement is used. To define a column while creating, we need to provide the column’s name and the data type of that particular column. The same two parameters need to be defined while adding a column to an existing table in Postgres. 

This tutorial will demonstrate the methods to add columns to a Postgres table. So let’s get into the further details.

How to Add Columns to a Postgres Table?

We can add/insert a column to a pre-existing Postgres table, using an ALTER statement. The syntax to add a column to a table is given as:

ALTER TABLE t_name 
ADD COLUMN c_name dataType;

Syntax Description

  • The ALTER TABLE statement is used to alter the specified table.
  • The table name is entered after the ALTER TABLE statement.
  • The ADD COLUMN clause adds a column to an existing/specified Postgres table.
  • The column’s name and its data type need to be specified after the ADD COLUMN statement.

Let’s see how to insert a new data column into a Postgres table.

Example: Add Columns to a Table in PostgreSQL

Let’s add a column to the “account_details” table. The name of the column will be “passcode” and its data type will be “VARCHAR”. The query can be written as follows:

ALTER TABLE account_details 
ADD COLUMN passcode VARCHAR;

This will result in the creation of a new column in the table. 

Add Columns to a Table in PostgreSQL 1

This means that the column “passcode” has been added to the table. We will verify from the side panel. In the side panel, expand the table option in which you have added the column, expand the columns option there you will be able to see your new column. If not, refresh the table from the drop-down menu that will appear after you right-click on the table.

Add Columns to a Table in PostgreSQL  2

This is how we can add a new column to an existing table with the specific data type. In the same way, we can insert/add multiple columns to the Postgres table.

Example 2: Add Columns With Constraints to a Table in PostgreSQL

We can also add some constraints to the column of a database table. The most commonly used constraints for the table column are; NOT NULL, UNIQUE, and DEFAULT

Step 1: Add the Column with the Constraint

The basic syntax to add a column with a constraint is given as:

ALTER TABLE t_name 
ADD COLUMN c_name dataType constraints;

The specific constraint will be mentioned after the data type declaration, the rest of the query remains the same.

Let’s suppose we want to add the “passcode” column with a NOT NULL constraint we will write the following query:

ALTER TABLE account_details 
ADD COLUMN passcode VARCHAR NOT NULL;

The table will be successfully altered for the addition of a new column “passcode” with VARCHAR data type and NOT NULL constraint.

Add Columns to a Table in PostgreSQL 3

Step 2: Verify the Added Column With the Constraint

We can see the constraint of the table column from the side panel. Go to the column of the table in which you have added the constraint. Right-click it and choose Properties from the drop-down menu that appears.

Add Columns to a Table in PostgreSQL  4

A window displaying the column’s properties will appear on the screen.

Add Columns to a Table in PostgreSQL  5

Navigate to the constraints tab to see the constraints added to the column.

Add Columns to a Table in PostgreSQL  6

We can see that the NOT NULL constraint is toggled on which means that the constraint has been added.

Note: We can also see the constraint of the table column by executing the “\d tab_name” query in psql after connecting to the database in which this particular table exists. 

Add Columns to a Table in PostgreSQL Manually

We can also manually add a column in a table. This GUI method is easy to implement. Let’s see how we can add a column to the table manually in pgAdmin.

Step 1: Add the Column With the Constraint

To manually add a column to the table, select the table in which you want to add a column. Right-click on the “columns” option under that table. Select the “Create” option from the drop-down menu that appeared and then choose the “Column” option. 

Add Columns to a Table in PostgreSQL  7

A window will be shown on the screen to create a table column. 

Add Columns to a Table in PostgreSQL  8

We can define the data type of the column in the “definition” tab of this window like this:

Add Columns to a Table in PostgreSQL  9

We will select “character Varying” from here.

Add Columns to a Table in PostgreSQL  10

From the “constraints” tab, you can add constraints to the columns. The options provided as constraints can be seen in the Constraints tab:

Add Columns to a Table in PostgreSQL 11

I have enabled the “NOT NULL?” constraint for this column as seen in the above image. We can also insert some default values etc. into the column.

We have added the constraints, and variables to the column. We can also generate the SQL query for the addition of the customized column. To add a new data column in a Postgres table, click the “Save” button.

Add Columns to a Table in PostgreSQL  12

Step 2: Verify the Added Column with Constraint

To verify the new column, we can see the side panel where the new column “address” has immediately been added under the columns option.

Add Columns to a Table in PostgreSQL 13

We can also verify the columns of the table by executing the SELECT statement like this:

SELECT * FROM account_details;

This query will output the selected table i.e. account_details.

Add Columns to a Table in PostgreSQL 14

In this way, we can insert/add columns to a pre-existing table in Postgres.

Conclusion

We can add a column in an already existing table, by two methods. The first method is to use the ALTER statement and secondly, we can do this manually in the pgAdmin. Both approaches are simple to implement for the user. In this tutorial, we have seen a couple of ways to add a column to a table in PostgreSQL with their proper implementation.