Create and Delete Database in Postgres


PostgreSQL may be a relational database management system that allows you to make and erase databases. To make a new database, you'll utilize the 'createdb' command, followed by the name of the Database you need to create. To delete a database, you can utilize the 'dropdb' command, followed by the name of the Database you need to erase. In any case, be careful when erasing a database because it will forever erase all information stored in that Database.

Why we need to Create Database?

When working with PostgreSQL, making a database is usually the primary step to take in order to store and oversee information.

Here are a few reasons why making a database in PostgreSQL is vital:

  1. Data storage: A database may be an organized way of storing information that can be effortlessly accessed, adjusted, and managed. PostgreSQL permits you to form tables, define relationships between them, and manage data in a structured way.
  2. Data organization: A database permits you to organize data consistently, making it simpler to inquire about and recover data. By making a database in PostgreSQL, you'll be able to define tables and columns that are significant to your application and store information in a way that produces sense for your utilized case.
  3. Data security: PostgreSQL gives built-in security highlights that permit you to secure your information from unauthorized access. By creating a database, you'll characterize and get to control rules, encrypt delicate information, and restrain the benefits of distinctive clients.
  4. Versatility: As your information develops, you will ought to scale your application to handle the expanded activity and capacity necessities. PostgreSQL gives a number of devices for scaling your Database, including replication, partitioning, and clustering.

Steps for Creating a Database in Postgres

To form a database in PostgreSQL, follow these steps:

  1. Connect to your PostgreSQL server employing a database tool such as pgAdmin or psql.
  2. Once you're connected, right-click on the "Databases" folder within the object browser and select "Create" from the context menu.
  3. Within the "Create - Database" dialog box, enter a name for the Database within the "Database" field.
  4. Alternatively, you'll moreover indicate the proprietor of the Database within the "Owner" field and select a character encoding and collation for the Database.
  5. Press the "Save" button to form the Database.

Then again, you'll be able to utilize SQL commands to make a database:

  1. Connect to your PostgreSQL server utilizing psql or another SQL client.
  2. Run the following command to form an unused database:
CREATE DATABASE database_name;

 If you want to specify the owner of the Database, you can use the following command instead:

CREATE DATABASE database_name OWNER username;

Replace "username" with the name of the user who will own the Database.

3. Confirm that the Database has been created by running the following command:


This will display a list of all databases on the server, including the new Database you just created. Once you have created a database, you can create tables and other objects to store and manage your data.

Deleting a Database in Postgres

Erasing a database in PostgreSQL could be a direct handle, but it is imperative to note that once a database is erased, all information put away in that Database will be permanently misplaced. Therefore, it is critical to form beyond any doubt you have got reinforcement of the information sometime recently, continuing with the cancellation.

To delete a database in PostgreSQL, follow these steps:

  1. Connect to your PostgreSQL server employing a database tool such as pgAdmin or psql.
  2. Select the Database you need to erase.
  3. Right-click on the Database and select "Delete/Drop" from the context menu.
  4. Affirm the deletion by clicking "Yes" or "Ok" when provoked.

On the other hand, you'll utilize SQL commands to erase a database:

  1. Connect to your PostgreSQL server utilizing psql or another SQL client.
  2. Run the following command to switch to the Database you need to erase:
\\c database_name;
  1.  Run the following command to delete the Database:
DROP DATABASE database_name;
  1. Confirm the deletion by typing "yes" or "y" when prompted.

Again, it is important to ensure you have a data backup before proceeding with the deletion.

Best Practices for Creating and Deleting Postgres Databases

  • Creating Postgres Databases:
  1. Choose the right encoding for your Database. Different applications will require different encodings.
  2. Set up the proper tablespaces to store the data in the Database. Depending on the data type, you may need to create multiple tablespaces to store different data types.
  3. Create the users and roles that will have access to the Database. Make sure to assign appropriate privileges to each user/role.
  4. Create your Database. The CREATE DATABASE command defines the database name, owner, and other parameters.
  5. Load the database schema. Use the CREATE TABLE or the SCHEMA command to define the database structure.
  6. Load the data. Use the COPY command to load the data into the Database.
  7. Secure the Database. Ensure enable authentication and firewalls, and set up proper roles and privileges.
  • Deleting Postgres Databases:
  1. Make sure you have a backup of the Database.
  2. Drop all the users that have access to the Database.
  3. Drop all the tables in the Database.
  4. Drop the Database.
  5. Remove the Database from the server.
  6. Make sure the Database is no longer accessible.

Troubleshooting Postgres Database Creation and Deletion Issues

  1. Ensure your Postgres version is up to date: Postgres versions can frequently become outdated, so it's important to ensure your version is up to date before attempting to create or delete a database.
  2. Ensure you have the correct privileges: In order to create or delete a database in Postgres, you need to be a superuser. You can only do so if you have the correct privileges.
  3. Check for syntax errors: Syntax errors can commonly cause issues when creating or deleting a database in Postgres. Be sure to double-check your syntax for any typos or incorrect commands.
  4. Check the Postgres log: The Postgres log can be a great way to troubleshoot any issues that may arise when creating or deleting a database. The log can provide helpful insight as to why an issue is occurring.
  5. Try restarting the Postgres server: Sometimes restarting the Postgres server can help resolve any issues that may be occurring with creating or deleting a database.

Tips for Optimizing Postgres Database Performance

Tune the Postgres Configuration Parameters:

Legitimately tuning Postgres configuration parameters is one of the foremost critical steps to optimize Postgres database performance. This incorporates setting the proper values for shared_buffers, effective_cache_size, work_mem, maintenance_work_mem, checkpoint_segments, etc.

Monitor your Queries:

Observing the queries that are running on your Postgres server is vital for distinguishing and settling execution issues. Utilize the Explain command to analyze the query plan and identify any potential bottlenecks.

Review Index Usage:

Make sure your Database utilizes the proper indexes for queries. This incorporates making indexes on columns that are habitually utilized in queries and ensuring that the query optimizer is utilizing the indexes.

Optimize Table Structures:

Make sure your table structures are optimized for the queries you are running. This incorporates ensuring that you have the proper data types and columns and utilizing foreign keys and imperatives when suitable.

Use Query Caching:

Query caching may be an awesome way to progress Postgres execution. It stores the results of queries that have been run, permitting them to be reused for consequent requests. This reduces the number of queries that ought to be executed.

Utilize Database Partitioning:

Database partitioning permits you to partition your information into multiple tables, which can improve query performance by decreasing the sum of information that must be scanned.

Use Connection Pooling:

Connection pooling permits numerous connections to be reused, decreasing the sum of time spent building up modern associations. This could progress the in general execution of your Postgres database.


This lesson gives instructions for making and erasing databases in PostgreSQL and the best hones for optimizing database execution. It moreover incorporates troubleshooting tips and reasons for why creating a database in PostgreSQL is imperative, such as data storage, organization, security, and adaptability.

Key takeaways

  1. Utilize the Create DATABASE command to create a new database in Postgres.
  2. Utilize the DROP DATABASE command to erase a database in Postgres.
  3. Guarantee that you have the fundamental benefits (such as SUPERUSER) to make or erase a database.
  4. When making a database, indicate a name, the proprietor, and any other significant parameters.
  5. When erasing a database, be sure to erase any associated objects, such as tables, views, and functions.
  6. Back up your databases before erasing them to guarantee that you do not lose any critical information.


1. Which of the following is used to create a database in Postgres? 



2. What command is used to delete a database in Postgres? 



3. What is the syntax for creating a database in Postgres? 

  1. CREATE database <dbname>; 
  2. CREATE <dbname>; 
  3. DROP database <dbname>;
  4. DELETE database <dbname>;

Answer: a. CREATE database <dbname>;

4. What is the syntax for deleting a database in Postgres? 

  1. CREATE database <dbname>; 
  2. DROP <dbname>; 
  3. DROP database <dbname>; 
  4. DELETE database <dbname>;

Answer: c. DROP database <dbname>;

Module 2: Creating and Managing Databases in PostgresCreate and Delete Database in Postgres

Top Tutorials

Related Articles

Made with heartin Bengaluru, India
  • Official Address
  • 4th floor, 133/2, Janardhan Towers, Residency Road, Bengaluru, Karnataka, 560025
  • Communication Address
  • 4th floor, 315 Work Avenue, Siddhivinayak Tower, 152, 1st Cross Rd., 1st Block, Koramangala, Bengaluru, Karnataka, 560034
  • Follow Us
  • facebookinstagramlinkedintwitteryoutubetelegram

© 2024 AlmaBetter