Bird
Raised Fist0
PostgreSQLquery~5 mins

Creating databases and connecting in PostgreSQL

Choose your learning style10 modes available
Introduction

We create databases to store and organize data. Connecting lets us use and manage that data.

When starting a new project that needs to save information.
When you want to separate data for different applications.
When you need to organize data for easy access and updates.
When setting up a test environment with its own data.
When you want to manage data securely and efficiently.
Syntax
PostgreSQL
CREATE DATABASE database_name;

\c database_name

CREATE DATABASE makes a new database with the name you choose.

\c database_name connects you to that database in the PostgreSQL command line.

Examples
This creates a new database called myshop.
PostgreSQL
CREATE DATABASE myshop;
This connects you to the myshop database so you can start using it.
PostgreSQL
\c myshop
Creates a database named testdb for testing purposes.
PostgreSQL
CREATE DATABASE testdb;
Connects to the testdb database to run commands there.
PostgreSQL
\c testdb
Sample Program

This creates a database called sampledb and then connects to it.

PostgreSQL
CREATE DATABASE sampledb;

\c sampledb
OutputSuccess
Important Notes

You must have permission to create databases in PostgreSQL.

Use \l to list all databases in the PostgreSQL command line.

To connect from outside the command line, use connection strings or tools like pgAdmin.

Summary

Creating a database sets up a place to store your data.

Connecting to a database lets you work with its data.

Use CREATE DATABASE and \c commands in PostgreSQL.

Practice

(1/5)
1. What does the CREATE DATABASE command do in PostgreSQL?
easy
A. It deletes a database permanently.
B. It connects to an existing database.
C. It creates a new database to store data.
D. It lists all databases available.

Solution

  1. Step 1: Understand the purpose of CREATE DATABASE

    This command is used to create a new database in PostgreSQL where data can be stored.
  2. Step 2: Differentiate from other commands

    Connecting to a database uses \c, deleting uses DROP DATABASE, and listing uses \l.
  3. Final Answer:

    It creates a new database to store data. -> Option C
  4. Quick Check:

    CREATE DATABASE = create new database [OK]
Hint: Remember: CREATE DATABASE makes a new database [OK]
Common Mistakes:
  • Confusing CREATE DATABASE with connecting commands
  • Thinking it deletes or lists databases
  • Using wrong command for creating database
2. Which of the following is the correct syntax to connect to a database named shopdb in PostgreSQL?
easy
A. \c shopdb
B. \\c shopdb
C. CONNECT TO shopdb;
D. USE shopdb;

Solution

  1. Step 1: Identify the correct psql command for connecting

    In PostgreSQL's psql tool, the command to connect to a database is \c database_name.
  2. Step 2: Check syntax correctness

    \c shopdb uses the correct backslash and no extra backslashes or SQL keywords.
  3. Final Answer:

    \c shopdb -> Option A
  4. Quick Check:

    Connect command = \c [OK]
Hint: Use single backslash \c to connect in psql [OK]
Common Mistakes:
  • Using double backslashes instead of one
  • Using SQL commands like USE which is not PostgreSQL
  • Adding semicolons to psql meta-commands
3. What will be the result of running the following commands in psql?
CREATE DATABASE testdb;
\c testdb
SELECT current_database();
medium
A. An error because \c cannot be used after CREATE DATABASE
B. It connects to testdb and shows 'testdb' as current database
C. It shows the default database name instead of testdb
D. It creates testdb but does not connect, so current_database() shows nothing

Solution

  1. Step 1: Understand command sequence

    The first command creates a new database named testdb. The second command connects to it. The third command queries the current database name.
  2. Step 2: Predict output of current_database()

    Since connection switched to testdb, current_database() returns 'testdb'.
  3. Final Answer:

    It connects to testdb and shows 'testdb' as current database -> Option B
  4. Quick Check:

    CREATE + \c + current_database() = 'testdb' [OK]
Hint: After CREATE DATABASE, use \c to switch and check with current_database() [OK]
Common Mistakes:
  • Thinking \c cannot be used after CREATE DATABASE
  • Assuming current_database() shows default database
  • Believing connection does not change automatically
4. You run the command CREATE DATABASE mydb but get an error. Which of these is the most likely cause?
medium
A. You do not have permission to create a database.
B. You forgot the semicolon at the end of the command.
C. You are already connected to the database you want to create.
D. You used the wrong command; CREATE DATABASE is not valid in PostgreSQL.

Solution

  1. Step 1: Check command syntax

    The command CREATE DATABASE mydb is valid and semicolon is optional in some clients but recommended.
  2. Step 2: Identify common permission issues

    Most errors creating databases happen because the user lacks the CREATE DATABASE privilege.
  3. Final Answer:

    You do not have permission to create a database. -> Option A
  4. Quick Check:

    Permission error = CREATE DATABASE fails [OK]
Hint: Check user permissions if CREATE DATABASE fails [OK]
Common Mistakes:
  • Assuming missing semicolon always causes error
  • Thinking you cannot create database while connected to it
  • Believing CREATE DATABASE is invalid in PostgreSQL
5. You want to create a new database named salesdb and immediately connect to it using psql commands. Which sequence is correct?
hard
A. CREATE DATABASE salesdb; CONNECT salesdb;
B. \c salesdb; CREATE DATABASE salesdb;
C. CREATE DATABASE salesdb \c salesdb;
D. CREATE DATABASE salesdb; \c salesdb

Solution

  1. Step 1: Understand command order

    You must first create the database, then connect to it. So CREATE DATABASE salesdb; comes before \c salesdb.
  2. Step 2: Verify command syntax

    CREATE DATABASE salesdb; \c salesdb uses correct SQL and psql meta-command syntax. \c salesdb; CREATE DATABASE salesdb; tries to connect before creation. CREATE DATABASE salesdb \c salesdb; combines commands incorrectly. CREATE DATABASE salesdb; CONNECT salesdb; uses invalid CONNECT command.
  3. Final Answer:

    CREATE DATABASE salesdb; \c salesdb -> Option D
  4. Quick Check:

    Create then connect = correct sequence [OK]
Hint: Create first, then connect with \c [OK]
Common Mistakes:
  • Trying to connect before database exists
  • Using invalid commands like CONNECT
  • Combining commands on one line incorrectly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard