Bird
Raised Fist0
PostgreSQLquery~5 mins

psql command-line tool basics in PostgreSQL - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is psql in PostgreSQL?

psql is a command-line tool that lets you interact with a PostgreSQL database by typing commands and queries directly.

Click to reveal answer
beginner
How do you connect to a PostgreSQL database using psql?

Use the command psql -d database_name -U username. This opens a session connected to the specified database as the given user.

Click to reveal answer
beginner
What does the command \q do in psql?

\q quits the psql tool and ends your session.

Click to reveal answer
beginner
How can you list all tables in the current database using psql?

Type \dt to see a list of all tables in the connected database.

Click to reveal answer
beginner
What is the purpose of the command \? in psql?

\? shows help information listing all available psql commands and their descriptions.

Click to reveal answer
Which command exits the psql tool?
Aexit()
B\exit
C\q
Dquit
How do you list all tables in the current database in psql?
A\dt
B\list
C\tables
D\show tables
What does the command psql -d mydb -U user1 do?
AConnects to the database mydb as user1
BCreates a new database named mydb
CDeletes the database mydb
DLists all users in the database
Which command shows help information about psql commands?
A\help
Bhelp()
Cman psql
D\?
If you want to run a SQL query in psql, what must you end the query with?
AA period (.)
BA semicolon (;)
CA comma (,)
DNo special character needed
Explain how to start a psql session to connect to a PostgreSQL database.
Think about the command format to open <code>psql</code> with database and user.
You got /4 concepts.
    List three useful psql meta-commands and what they do.
    Meta-commands start with a backslash \.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the primary purpose of the psql command-line tool in PostgreSQL?
      easy
      A. To connect to a PostgreSQL database and run SQL commands interactively
      B. To create new PostgreSQL database clusters
      C. To backup PostgreSQL databases automatically
      D. To monitor server hardware performance

      Solution

      1. Step 1: Understand the role of psql

        psql is a command-line interface tool designed to connect to PostgreSQL databases and allow users to run SQL commands interactively.
      2. Step 2: Differentiate from other tools

        Other options like creating clusters or backups are done by different tools or commands, not psql.
      3. Final Answer:

        To connect to a PostgreSQL database and run SQL commands interactively -> Option A
      4. Quick Check:

        psql = interactive SQL client [OK]
      Hint: Remember: psql = PostgreSQL interactive shell [OK]
      Common Mistakes:
      • Confusing psql with backup tools
      • Thinking psql manages hardware
      • Assuming psql creates database clusters
      2. Which of the following is the correct way to start psql and connect to a database named mydb as user alice?
      easy
      A. psql start mydb alice
      B. psql --connect mydb alice
      C. psql connect mydb user alice
      D. psql -d mydb -U alice

      Solution

      1. Step 1: Recall psql connection syntax

        The correct syntax to connect is psql -d database -U user.
      2. Step 2: Match options to syntax

        psql -d mydb -U alice matches this syntax exactly, while others use invalid or unsupported flags.
      3. Final Answer:

        psql -d mydb -U alice -> Option D
      4. Quick Check:

        psql -d db -U user = connect [OK]
      Hint: Use -d for database and -U for user [OK]
      Common Mistakes:
      • Using unsupported flags like --connect
      • Writing commands without dashes
      • Mixing command words incorrectly
      3. Inside psql, what will be the result of running the command \dt?
      medium
      A. It lists all tables in the current database
      B. It deletes the current table
      C. It displays the current database connection info
      D. It shows the last query execution plan

      Solution

      1. Step 1: Understand psql meta-commands

        Commands starting with a backslash (\) are special psql commands. \dt lists tables.
      2. Step 2: Identify what \dt does

        \dt shows all tables in the current database schema, not deleting or showing connection info.
      3. Final Answer:

        It lists all tables in the current database -> Option A
      4. Quick Check:

        \dt = list tables [OK]
      Hint: Backslash commands show info; \dt lists tables [OK]
      Common Mistakes:
      • Thinking \dt deletes tables
      • Confusing \dt with connection info commands
      • Expecting \dt to show query plans
      4. You try to run psql -d mydb -U alice but get an error: psql: FATAL: password authentication failed for user "alice". What is the most likely cause?
      medium
      A. The database mydb does not exist
      B. The psql command is misspelled
      C. The password entered for user alice is incorrect or missing
      D. The PostgreSQL server is not running

      Solution

      1. Step 1: Analyze the error message

        The error says "password authentication failed for user alice," indicating a login problem.
      2. Step 2: Identify the cause

        This usually means the password is wrong or not provided, not that the database or command is missing.
      3. Final Answer:

        The password entered for user alice is incorrect or missing -> Option C
      4. Quick Check:

        Password error = authentication failed [OK]
      Hint: Password errors mean wrong or missing password [OK]
      Common Mistakes:
      • Assuming database doesn't exist from this error
      • Thinking psql command is wrong
      • Ignoring server status
      5. You want to list all databases available on your PostgreSQL server using psql. Which command should you run inside the psql prompt?
      hard
      A. SHOW DATABASES;
      B. \l
      C. \listdb
      D. SELECT * FROM pg_databases;

      Solution

      1. Step 1: Recall psql meta-commands for listing databases

        The command \l (or \list) lists all databases in psql.
      2. Step 2: Evaluate other options

        SHOW DATABASES; is MySQL syntax, \listdb is invalid, and SELECT * FROM pg_databases; is incorrect because the catalog table is pg_database, not pg_databases.
      3. Final Answer:

        \l -> Option B
      4. Quick Check:

        \l = list databases [OK]
      Hint: Use \l inside psql to list databases [OK]
      Common Mistakes:
      • Using MySQL syntax SHOW DATABASES;
      • Typing wrong meta-command \listdb
      • Querying wrong system table name
      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