Bird
Raised Fist0
PostgreSQLquery~10 mins

Creating databases and connecting in PostgreSQL - Interactive Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a new database named 'school'.

PostgreSQL
CREATE DATABASE [1];
Drag options to blanks, or click blank then click option'
Atestdb
Bstudents
Cmydb
Dschool
Attempts:
3 left
💡 Hint
Common Mistakes
Using a different database name than 'school'.
Forgetting the semicolon at the end.
2fill in blank
medium

Complete the command to connect to the database named 'school'.

PostgreSQL
\c [1]
Drag options to blanks, or click blank then click option'
Astudents
Bmydb
Cschool
Dtestdb
Attempts:
3 left
💡 Hint
Common Mistakes
Trying to connect to a database that does not exist.
Missing the backslash before 'c'.
3fill in blank
hard

Fix the error in the command to create a database named 'school'.

PostgreSQL
CREATE [1] school;
Drag options to blanks, or click blank then click option'
ADATABASE
BINDEX
CSCHEMA
DTABLE
Attempts:
3 left
💡 Hint
Common Mistakes
Using TABLE or SCHEMA instead of DATABASE.
Misspelling the keyword DATABASE.
4fill in blank
hard

Fill both blanks to connect to the database 'school' as user 'admin'.

PostgreSQL
psql -U [1] -d [2]
Drag options to blanks, or click blank then click option'
Aadmin
Bschool
Cuser
Dtestdb
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping user and database names.
Using wrong flags for user or database.
5fill in blank
hard

Fill both blanks to create a database named 'school', connect to it, and then list all tables.

PostgreSQL
CREATE [1] school;
\c [2]
\dt
Drag options to blanks, or click blank then click option'
ADATABASE
Bschool
CTABLE
DDATABASES
Attempts:
3 left
💡 Hint
Common Mistakes
Using TABLE instead of DATABASE to create the database.
Trying to list tables before connecting.

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