How to Select a Database in PostgreSQL Using psql and GUI Tools?

Selecting a database is key for working with PostgreSQL. This guide shows how to connect using command-line tools or GUIs. Learn step-by-step methods and best practices for safe connections.

download-icon
Free Download
for VM, OS, DB, File, NAS, etc.
dan-zeng

Updated by Dan Zeng on 2025/10/10

Table of contents
  • What Does Select Database Mean in Postgres?

  • Method 1. Using psql to Select Database

  • Method 2. Using pgAdmin to Select Database

  • Method 3. Using DBeaver to Select Database

  • Protecting Your PostgreSQL Databases with Vinchin Backup & Recovery

  • Postgres Select Database FAQs

  • Conclusion

PostgreSQL is a powerful open-source relational database system trusted by organizations worldwide. If you manage or operate PostgreSQL, you often need to select a database before running queries or performing maintenance tasks. But what does it mean to "select" a database in Postgres? How do you actually do it? In this guide, we’ll explain the concept step by step—from basic principles through advanced techniques—so you can confidently connect to any PostgreSQL database using command-line tools or graphical interfaces. We’ll also show how to list all databases on your server and introduce ways to protect your data with Vinchin.

What Does Select Database Mean in Postgres?

Selecting a database in PostgreSQL means connecting your session directly to that specific database so you can run SQL commands against its data. Unlike some other systems such as MySQL—which let you switch databases mid-session using USE dbname;—PostgreSQL ties each connection strictly to one database at a time. This design keeps work organized and secure because every session has its own isolated catalog of tables, users, and permissions.

If you want to work on another database in PostgreSQL, you must disconnect from your current session and reconnect using new credentials or parameters pointing at the target database. This approach may seem strict if you're used to switching databases freely elsewhere—but it helps prevent accidental cross-database changes and enforces clear boundaries between projects.

Method 1. Using psql to Select Database

The most direct way for administrators to select a PostgreSQL database is through the psql command-line tool included with every installation of PostgreSQL.

First, open your terminal or command prompt window. To see which databases are available on your server instance, connect using psql (often as the default postgres user) then type the \l command at the prompt. This will list all accessible databases along with their owners and privileges.

To select—or rather connect—to a specific database:

1. Connect directly when starting psql:

Enter

   psql -h localhost -p 5432 -U postgres exampledb

Replace localhost, 5432, postgres, and exampledb with your actual server address, port number, username, and desired database name respectively. When prompted for a password (unless using trust authentication), enter it securely—never share passwords in scripts or logs! Once connected successfully, all commands will apply only within that chosen database context.

2. Switch databases within psql:

If already inside an active psql session but need access elsewhere:

Type

   \c exampledb

Then press Enter. This closes your current connection cleanly before opening a new one targeting exampledb. You can also specify additional parameters like username or host:

   \c exampledb username host port

Remember: You cannot run queries across multiple databases simultaneously from one session—the connection always points at just one place! To exit psql safely after finishing work type \q.

Handling Connection Errors & Secure Practices

Connecting isn’t always smooth sailing—sometimes errors pop up due to configuration issues or missing privileges.

If you see messages like “role does not exist” or “connection refused,” check these common causes:

  • Make sure the user exists on both operating system and within Postgres (CREATE USER ...)

  • Confirm network settings allow remote connections (listen_addresses in postgresql.conf)

  • Review authentication rules in pg_hba.conf; ensure correct method (like md5/peer/trust) is set for your IP range

  • For password prompts every time use psql -W; avoid storing plain-text passwords by setting environment variables like $PGPASSWORD

  • For production environments consider SSL encryption by adding flags such as --sslmode=require

If permission denied errors occur when switching (\c) between databases inside psql: verify that your user account has CONNECT rights on that target DB (GRANT CONNECT ON DATABASE dbname TO username;). Always test new connections first before automating scripts!

For automation tasks—such as backups—you can use full connection strings:

psql "postgresql://user:password@host:port/dbname"

This format works well in shell scripts but remember never hard-code sensitive credentials unless protected by proper file permissions.

Method 2. Using pgAdmin to Select Database

pgAdmin is PostgreSQL’s official graphical interface—a favorite among those who prefer point-and-click workflows over typing commands.

After launching pgAdmin and connecting successfully (you may be asked for master passwords), look at the tree view panel on the left side of the window. Expand Servers, then expand your server’s name entry underneath it until you see Databases listed below.

To select any available database:

1. Click once on its name under Databases

2. Open query windows by clicking Tools > Query Tool

3. The Query Tool tab opens automatically connected only to that selected DB—all SQL statements here affect just this context

You can open several Query Tool tabs at once if working across different projects; pgAdmin displays which DB each tab belongs to right above its editor area so there’s no confusion about where changes go!

If unsure which DB is active while editing SQL code look at both tab titles and status bar details—they always reflect current context clearly.

For advanced users managing many servers/databases simultaneously: consider grouping related entries into folders within pgAdmin’s browser pane for easier navigation during busy sessions.

Method 3. Using DBeaver to Select Database

DBeaver is another popular cross-platform client supporting PostgreSQL alongside dozens of other engines—it’s especially valued for flexibility when juggling multiple environments from Windows/Mac/Linux desktops alike.

To choose which Postgres DB DBeaver connects against:

1. Launch DBeaver; create new connection if needed via top menu (Database > New Connection)

2. In left-side panel called Database Navigator, expand out existing Postgres connections until seeing sub-node labeled Databases

3. Double-click whichever DB should become active

4. Right-click chosen DB node then pick SQL Editor > New SQL Script

The resulting editor window shows current DB name prominently near top edge—and all queries typed here execute solely within that scope until closed/reconnected elsewhere later!

DBeaver makes it easy switching back/forth between dozens of projects without losing track thanks its color-coded tabs plus persistent history logs per connection profile—a big help during audits or troubleshooting marathons!

Protecting Your PostgreSQL Databases with Vinchin Backup & Recovery

Given how critical reliable backups are for operational continuity, it's important to choose robust solutions tailored for enterprise needs. Vinchin Backup & Recovery stands out as a professional backup platform supporting most mainstream databases—including Oracle, MySQL, SQL Server, MariaDB, MongoDB, and notably PostgreSQL itself—making it ideal if you're focused on protecting Postgres environments specifically.

Vinchin Backup & Recovery delivers essential features such as incremental backup support for PostgreSQL, batch backup management across multiple instances, flexible data retention policies including GFS retention strategies, seamless cloud backup/tape archiving integration, and ransomware protection mechanisms—all designed for efficiency and resilience while minimizing storage costs and administrative overheads.

The web console provided by Vinchin Backup & Recovery is simple yet powerful:

1.     Go to Database Backup> Backup, and select the data source from the licensed database list.

a2ba4a3638798e05832c9ccfb78ffd7.png

2.     Select the target node and storage for the job.

bdbae7ff43eba973ae444ae8f2058ac.png

3.     Set up desired backup strategies.

318e2800f93d4dabe5bbcf53e04e5ad.png

3a1120d880a242c1985bc9c81c2ff93.png

54895188fcca4dcd75171e61e98c5cf.png

9ccb1ed77a56107bd1dcfc5d5d47ac7.png

4.     View settings and click Submit.

With thousands of global customers relying on Vinchin Backup & Recovery's proven reliability—and top ratings from industry analysts—you can try all features free for 60 days today by clicking download below.

Postgres Select Database FAQs

Q1: Can I switch between multiple databases without disconnecting my session?

No—you must disconnect then reconnect since each session links exclusively with one target DB at any given time in Postgres architecture.

Q2: How do I confirm which exact database my terminal session points at now?

Type SELECT current_database(); inside psql—or use command-line shortcut \conninfo—to display live details including host/user/database instantly onscreen.

Q3: What’s best way listing only application-specific (not template/system) databases quickly?

Run this SQL snippet:

SELECT datname FROM pg_database WHERE datistemplate = false AND datname NOT LIKE 'template%';

Conclusion

Selecting a database in PostgreSQL means connecting directly before running queries—a process made simple whether using command line tools like psql or GUIs such as pgAdmin/DBeaver alike! For total peace of mind protecting critical data assets consider automated backup solutions from Vinchin today.

Share on:

Categories: Database Backup