EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 360+ Courses All in One Bundle
  • Login
Home Data Science Data Science Tutorials PostgreSQL Tutorial Postgres Rename Table
Secondary Sidebar
PostgreSQL Tutorial
  • Basic
    • What is PostgreSQL
    • PostgreSQL Features
    • How to Install PostgreSQL
    • PostgreSQL Versions
    • PostgreSQL Architecture
    • PostgreSQL GUI
    • Postgres Command-Line
    • PostgreSQL Variables
    • PostgreSQL Data Types
    • PostgreSQL NOT NULL
    • PostgreSQL Integer
    • PostgreSQL Boolean
    • PostgreSQL BIGINT
    • PostgreSQL NULLIF
    • PostgreSQL Administration
    • PostgreSQL Commands
    • PostgreSQL Operators
    • PostgreSQL IN Operator
    • Postgres like query
    • PostgreSQL encode
    • PostgreSQL Cheat Sheet
    • PostgreSQL List Databases
    • PostgreSQL Rename Database
  • Control Statement
    • PostgreSQL IF Statement
    • PostgreSQL if else
    • PostgreSQL CASE Statement
    • PostgreSQL LOOP
    • PostgreSQL For Loop
    • PostgreSQL While Loop
  • Joins
    • Joins in PostgreSQL
    • PostgreSQL Inner Join
    • PostgreSQL Outer Join
    • LEFT OUTER JOIN in PostgreSQL
    • PostgreSQL FULL OUTER JOIN
    • PostgreSQL LEFT JOIN
    • PostgreSQL Full Join
    • PostgreSQL Cross Join
    • PostgreSQL NATURAL JOIN
    • PostgreSQL UPDATE JOIN
  • Queries
    • PostgreSQL Queries
    • PostgreSQL INSERT INTO
    • PostgreSQL WHERE Clause
    • PostgreSQL WITH Clause
    • PostgreSQL ORDER BY
    • PostgreSQL ORDER BY Random
    • PostgreSQL ORDER BY DESC
    • PostgreSQL GROUP BY
    • PostgreSQL group_concat
    • PostgreSQL HAVING
    • PostgreSQL Recursive Query
  • Advanced
    • PostgreSQL Schema
    • Postgres List Schemas
    • PostgreSQL Drop Schema
    • PostgreSQL VARCHAR
    • Array in PostgreSQL
    • PostgreSQL DDL
    • PostgreSQL List Users
    • Postgres Default User
    • Postgres add user
    • PostgreSQL User Password
    • PostgreSQL log_statement
    • PostgreSQL repository
    • PostgreSQL shared_buffer
    • PostgreSQL String Functions
    • PostgreSQL Compare Strings
    • PostgreSQL Text Search
    • PostgreSQL TEXT
    • PostgreSQL String Array
    • PostgreSQL where in array
    • PostgreSQL Constraints
    • PostgreSQL UNIQUE Constraint
    • PostgreSQL CHECK Constraint
    • PostgreSQL INTERSECT
    • PostgreSQL Like
    • Cursors in PostgreSQL
    • PostgreSQL UNION ALL
    • Indexes in PostgreSQL
    • PostgreSQL Index Types
    • PostgreSQL REINDEX
    • PostgreSQL UNIQUE Index
    • PostgreSQL Clustered Index
    • PostgreSQL DROP INDEX
    • PostgreSQL DISTINCT
    • PostgreSQL FETCH
    • PostgreSQL RAISE EXCEPTION
    • PostgreSQL Auto Increment
    • Sequence in PostgreSQL
    • Wildcards in PostgreSQL
    • PostgreSQL Subquery
    • PostgreSQL Alias
    • PostgreSQL LIMIT
    • PostgreSQL Limit Offset
    • PostgreSQL LAG()
    • PostgreSQL Table
    • Postgres Show Tables
    • PostgreSQL Describe Table
    • PostgreSQL Lock Table
    • PostgreSQL ALTER TABLE
    • Postgres Rename Table
    • PostgreSQL List Tables
    • PostgreSQL TRUNCATE TABLE
    • PostgreSQL Table Partitioning
    • Postgres DROP Table
    • PostgreSQL Functions
    • PostgreSQL Math Functions
    • PostgreSQL Window Functions
    • Aggregate Functions in PostgreSQL
    • PostgreSQL Primary Key
    • Foreign Key in PostgreSQL
    • PostgreSQL Procedures
    • PostgreSQL Stored Procedures
    • PostgreSQL Views
    • PostgreSQL Materialized Views
    • Postgres Create View
    • PostgreSQL Triggers
    • PostgreSQL DROP TRIGGER
    • PostgreSQL Date Functions
    • PostgreSQL TO_DATE()
    • PostgreSQL datediff
    • PostgreSQL Timestamp
    • PostgreSQL CURRENT_TIMESTAMP()
    • PostgreSQL Notify
    • PostgreSQL LENGTH()
    • PostgreSQL blob
    • PostgreSQL Median
    • PostgreSQL kill query
    • PostgreSQL Formatter
    • PostgreSQL RANK()
    • PostgreSQL Select
    • PostgreSQL Average
    • PostgreSQL DATE_PART()
    • PostgreSQL EXECUTE
    • PostgreSQL COALESCE
    • PostgreSQL EXTRACT()
    • PostgreSQL Sort
    • PostgreSQL TO_CHAR
    • PostgreSQL Interval
    • PostgreSQL Number Types
    • PostgreSQL ROW_NUMBER
    • Alter Column in PostgreSQL
    • PostgreSQL Identity Column
    • PostgreSQL SPLIT_PART()
    • PostgreSQL CONCAT()
    • PostgreSQL replace
    • PostgreSQL TRIM()
    • PostgreSQL MAX
    • PostgreSQL DELETE
    • PostgreSQL Float
    • PostgreSQL OID
    • PostgreSQL log
    • PostgreSQL REGEXP_MATCHES()
    • PostgreSQL MD5 
    • PostgreSQL NOW()
    • PostgreSQL RANDOM
    • PostgreSQL round
    • PostgreSQL Trunc()
    • PostgreSQL TIME
    • PostgreSQL IS NULL
    • PostgreSQL CURRENT_TIME
    • PostgreSQL MOD()
    • Postgresql Count
    • PostgreSQL Datetime
    • PostgreSQL MIN()
    • PostgreSQL age()
    • PostgreSQL enum
    • PostgreSQL OR
    • PostgreSQL Wal
    • PostgreSQL NOT IN
    • PostgreSQL SET
    • PostgreSQL Current Date
    • PostgreSQL Compare Date
    • PostgreSQL SERIAL
    • PostgreSQL UUID
    • PostgreSQL Merge
    • PostgreSQL Database
    • PostgreSQL Clone Database
    • PostgreSQL Copy Database
    • PostgreSQL Show Databases
    • PostgreSQL Restore Database
    • PostgreSQL DROP DATABASE
    • PostgreSQL ALTER DATABASE
    • Postgres DROP Database
    • Postgres Dump Database
    • PostgreSQL OFFSET
    • PostgreSQL GRANT
    • PostgreSQL COMMIT
    • PostgreSQL ROLLUP
    • PostgreSQL JSON
    • EXPLAIN ANALYZE in PostgreSQL
    • PostgreSQL Temporary Table
    • PostgreSQL Show Tables
    • PostgreSQL cluster
    • PostgreSQL Replication
    • PostgreSQL Logical Replication
    • PostgreSQL flush privileges
    • PostgreSQL Tablespaces
    • CAST in PostgreSQL
    • PostgreSQL CTE
    • hstore in PostgreSQL
    • PostgreSQL Encryption
    • PostgreSQL DECODE()
    • PostgreSQL Vacuum
    • PostgreSQL EXCLUDE
    • Postgres Change Password
    • Postgres Delete Cascade
    • PostgreSQL EXCEPT
    • PostgreSQL Roles
    • PostgreSQL Link
    • PostgreSQL Partition
    • PostgreSQL column does not exist
    • PostgreSQL Log Queries
    • PostgreSQL escape single quote
    • PostgreSQL Query Optimization
    • PostgreSQL Character Varying
    • PostgreSQL Transaction
    • PostgreSQL Extensions
    • PostgreSQL Import CSV
    • PostgreSQL Client
    • PostgreSQL caching
    • PostgreSQL Incremental Backup
    • PostgreSQL JSON vs JSONNB
    • PostgreSQL JDBC Driver
    • PostgreSQL Interview Questions

Postgres Rename Table

By Payal UdhaniPayal Udhani

Postgres Rename Table

Introduction to Postgres Rename Table

Whenever we perform manipulations on the table in the PostgreSQL database, we often feel the necessity to perform some changes on the existing table. We can add more columns to the table, modify the existing column and its related properties, add or remove the constraints, remove columns, rename the table or assign the default value to certain columns of the table, add or remove primary and foreign key constraints and rename the table. We can perform all these operations using the ALTER TABLE command in PostgreSQL. In this article, we will study the syntax of the ALTER TABLE command and view a few examples to understand how we can change the name of the table in the PostgreSQL database.

Syntax:

ALTER TABLE tableName
RENAME TO alteredTableName

  • tableName – This is the name of the table that exists in your current PostgreSQL database that you wish to rename.
  • AlteredTableName – This is the name that you want to assign to the table with tableName and rename the same.

Example of Postgres Rename Table

Let us begin by creating a new table named educba which will store the data related to the corporation after checking all the present tables in our current DB by using \dt command –

Start Your Free Data Science Course

Hadoop, Data Science, Statistics & others

\dt

Postgres Rename Table 1

CREATE TABLE educba
(id INTEGER PRIMARY KEY,
technologies VARCHAR,
workforce INTEGER,
address VARCHAR);

Postgres Rename Table 2

Check whether table is created by \dt command that gives output –

\dt

Postgres Rename Table 3

We can rename the name of the table using the alter table command. To rename the name of the table educba to educational_platforms, we can use the syntax mentioned above of alter table command in the following way –

ALTER TABLE educba RENAME TO educational_platforms;

Let us check using \d command after firing the above command to describe the educba and educational_platforms table. This gives the following output –

\d educba;
\d educational_platforms;

All in One Data Science Bundle(360+ Courses, 50+ projects)
Python TutorialMachine LearningAWSArtificial Intelligence
TableauR ProgrammingPowerBIDeep Learning
Price
View Courses
360+ Online Courses | 50+ projects | 1500+ Hours | Verifiable Certificates | Lifetime Access
4.7 (86,527 ratings)

 Postgres Rename Table 4

As can be seen that the educba table cannot be described as it has been renamed and now none of the tables named educba exists in our database. After describing the educational_platforms it contains the same structure and keys as that of our previously created educba table. Hence, we can conclude that our table is renamed successfully.

Let us see what happens if we try to alter the table that is not present in our database, say SQL demo.

ALTER TABLE SQL demo RENAME TO education;

This will result in the error after executing the above command output is as follows –

Postgres Rename Table 5

Error saying relation name SQL demo does not exist is given as the output of executing the above command. To avoid such error, we can use IF EXISTS statement in our alter table syntax in the following way –

ALTER TABLE IF EXISTS tableName
RENAME TO alteredTableName;

This will prevent the system to throw an error if none of the tables named tableName exists in the current database. Instead, the system will raise the notice saying that no such table exists. Let us try to execute the following query statement –

ALTER TABLE IF EXISTS psqldemo RENAME TO education;

Execution of the above query statement gives the following output –

Postgres Rename Table 6

As the tables are referred to as the relations in PostgreSQL database server a notice saying – “relation name psqldemo does not exist and hence the alter table command execution is being skipped” is produced.

Let us create a table name psqldemo and then try to alter it by using the above-mentioned syntax including IF EXISTS in it.

Create a table named psqldemo containing columns such as id, schemaname, tablename, owner, creationdate and accesseddate using the following query statement –

CREATE TABLE psqldemo
(id INTEGER PRIMARY KEY,
schemaname VARCHAR,
tablename VARCHAR,
owner VARCHAR,
creationdate timestamp default now(),
accesseddate timestamp);

Executing the above command on PostgreSQL command prompt gives the following output –

output 1

Let us now try to rename the psqldemo table to education using the alter table syntax ith if exists a statement in it. The query statement will be as follows –

ALTER TABLE IF EXISTS psqldemo RENAME TO education;

after executing the query the output is as follows –

output 2

Let us try describing the psqldemo and education tables and see the output –

For describing the psqldemo fire the following command –

\d psqldemo;

that now results in the following output –

output 3

Output saying that none of the relation named psqldemo exists in the current database.

Describing the education table using the following query statement

\d education;

gives following output –

output 4

which resembles the structure and keys assigned by us to the psqldemo table that was created and later renamed by us. Hence, our table is renamed successfully.

Points to Remember

There are some points that you should keep in your mind while renaming any table in PostgreSQL. They are as listed below –

  • Whenever we rename the table, the dependent objects on the table such as views in which that table was used, any foreign keys if that table has, all other constraints and indexes are automatically updated.
  • In case if you want to rename multiple tables of your database, we cannot fire a single alter command for them. Each of the tables needs to be renamed separately using an alter query for each table.
  • Whenever a table is renamed, all the contents of the table remain unaffected and are not changed.
  • Whenever the table that does not exist is tried to be renamed using if exists statement the execution flow does not go for renaming the table. It first checks the presence of the table and raises the notice in its absence and terminates execution.

Conclusion

We have a versatile and variable ALTER TABLE command in the PostgreSQL database that can be used to add, remove, and modify the columns their datatypes, constraints such as not null, default, etc. We can use this method to rename the name of the table present in our current Postgres database. To avoid throwing the error when attempting to rename the table that does not exist in our database, we can make the use of IF EXISTS statement that helps is to raise a notice saying no such relation i.e table exists in the database with the specified name. We should try to achieve maximum utilization of such commands that are available in PostgreSQL to prepare efficient, robust, and consistent PostgreSQL databases.

Recommended Articles

This is a guide to Postgres Rename Table. Here we discuss the introduction, syntax, command with examples, and its code implementation. You may also have a look at the following articles to learn more –

  1. PostgreSQL Roles
  2. PostgreSQL Identity Column
  3. PostgreSQL Current Date
  4. PostgreSQL Link
Popular Course in this category
PostgreSQL Course (2 Courses, 1 Project)
  2 Online Courses |  1 Hands-on Project |  7+ Hours |  Verifiable Certificate of Completion
4.5
Price

View Course
0 Shares
Share
Tweet
Share
Primary Sidebar
Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Live Classes
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Database Management
  • Machine Learning
  • All Tutorials
Certification Courses
  • All Courses
  • Data Science Course - All in One Bundle
  • Machine Learning Course
  • Hadoop Certification Training
  • Cloud Computing Training Course
  • R Programming Course
  • AWS Training Course
  • SAS Training Course

ISO 10004:2018 & ISO 9001:2015 Certified

© 2022 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Data Science Course

SPSS, Data visualization with Python, Matplotlib Library, Seaborn Package

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA Login

Forgot Password?

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA
Free Data Science Course

Hadoop, Data Science, Statistics & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

Let’s Get Started

By signing up, you agree to our Terms of Use and Privacy Policy.

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more