Postgresql rename if exists

Rename a table in PostgreSQL with IF EXISTS

In PostgreSQL, you can use the ALTER TABLE command with the RENAME option to rename a table. To check if the table exists before renaming it, you can make use of the IF EXISTS clause. The following is the syntax for renaming a table:

ALTER TABLE table_name RENAME TO new_table_name;

However, to handle the scenario where the table might not exist, you can include the IF EXISTS clause as follows:

ALTER TABLE IF EXISTS table_name RENAME TO new_table_name;

If the table table_name exists, it will be renamed to new_table_name. If the table does not exist, no error will be thrown, and the command will simply do nothing.

Example:

Let’s consider we have a table called customers and we want to rename it to clients. We can use the following query:

ALTER TABLE IF EXISTS customers RENAME TO clients;

If the customers table exists, it will be renamed to clients. If the table does not exist, the command will have no effect.

This approach avoids getting an error if the table doesn’t exist, providing more robustness to your script or application.

Leave a comment