How to Use PostgreSQL Command Line for Database Administration?

PostgreSQL is a trusted open-source database. Knowing its command line tools helps you manage data safely and efficiently. This guide shows practical commands every administrator should know.

download-icon
Free Download
for VM, OS, DB, File, NAS, etc.
james-parker

Updated by James Parker on 2025/10/10

Table of contents
  • What Are PostgreSQL Commands?

  • Essential PostgreSQL Command Examples

  • Advanced postgresql command Usage

  • How Vinchin Backup & Recovery Protects Your PostgreSQL Database?

  • Postgresql Command FAQs

  • Conclusion

PostgreSQL is a powerful open-source database system trusted by organizations worldwide. To manage and interact with PostgreSQL, administrators rely on the psql command-line tool along with a rich set of commands. Mastering these commands makes daily operations smoother and more efficient. Whether you are just starting out or looking to deepen your skills, understanding core postgresql command usage is essential for reliable database management.

What Are PostgreSQL Commands?

PostgreSQL commands are instructions you use to interact with the database server from the terminal or scripts. These include standard SQL statements like SELECT, INSERT, or UPDATE, which let you query and modify data directly. In addition, there are special meta-commands in the psql tool that start with a backslash—for example, \l or \dt. Meta-commands help you manage databases, tables, users, roles, output formatting, history tracking, and much more—all without writing full SQL queries.

The primary interface for running these commands is the psql tool. You can use it interactively at a prompt or automate tasks within scripts. Understanding both types of commands gives you flexibility in handling routine administration as well as complex automation.

Essential PostgreSQL Command Examples

Every administrator should know the basic postgresql command set. These foundational commands help you connect to servers securely, explore schema objects quickly, check user permissions easily, and manage sessions confidently.

To begin working with PostgreSQL from your terminal or shell environment:

First connect to your target database using psql. For example:

psql -d mydb -U admin

This connects user "admin" to database "mydb" on your local server. If connecting remotely or specifying a port number:

psql -h dbserver.example.com -p 5432 -d mydb -U admin

You’ll be prompted for your password unless you configure secure authentication using .pgpass files or environment variables like PGPASSWORD.

Once inside the interactive psql prompt (mydb=>), try these essential meta-commands:

  • To list all databases: type \l

  • To switch between databases: use \c database_name

  • To list tables in your current schema: enter \dt

  • To describe table structure (columns/types): use \d table_name

  • To list schemas: type \dn

  • To show users/roles: use \du

If you want to see which version of PostgreSQL you're running:

SELECT version();

For quick exploration of data:

SELECT * FROM employees;

When finished with your session:

Type \q at any time to exit psql safely.

These basic commands form the backbone of daily administration tasks—they work across all supported versions. As an extra tip: if tables have many columns that wrap awkwardly on screen, toggle expanded display mode using \x auto; this adapts output layout based on terminal width.

Advanced postgresql command Usage

As you gain experience managing production systems—or need to automate repetitive tasks—you’ll want deeper control over how psql behaves. Advanced postgresql command techniques let you script jobs reliably, customize output formats for reporting tools, handle errors gracefully during batch runs, and troubleshoot performance issues efficiently.

Scripting and Automation Best Practices

Automating routine work saves time and reduces human error. With psql’s scripting features:

To run SQL statements from a file inside an interactive session:

\i filename.sql

Or execute an entire script non-interactively from your shell:

psql -d mydb -U admin -f filename.sql

For single ad-hoc queries directly from bash (useful in cron jobs):

psql -d mydb -U admin -c "SELECT COUNT(*) FROM employees;"

Need multiple actions? Separate them by semicolons within one call:

psql -d mydb -U admin -c "UPDATE employees SET active = TRUE; SELECT COUNT(*) FROM employees WHERE active = TRUE;"

To ensure scripts stop immediately if any error occurs (critical when automating changes):

Set this variable at session start:

\set ON_ERROR_STOP ON

This halts execution upon encountering errors—helping prevent partial updates that could leave data inconsistent.

Output Customization & Data Export

Customizing output helps when integrating results into other tools or reports:

Save query results directly to a text file using:

\o output.txt
SELECT * FROM employees;
\o

Switch between aligned/un-aligned formats (for CSV parsing):

Type \a inside psql.

Enable expanded display mode (better readability for wide tables):

Type \x; revert by typing again.

Want HTML-formatted results? Toggle HTML mode before running queries:

Type \H, then execute statements; turn off HTML mode afterward by typing \H again.

Alternatively run psql with --html flag outside interactive mode if needed.

Exporting table data as CSV is common during migrations or audits:

Inside psql shell,

\copy employees TO 'employees.csv' WITH (FORMAT csv, HEADER true)

This writes employee records out as comma-separated values readable by spreadsheets—note that \copy operates relative to client-side file paths rather than server-side ones due to permission boundaries.

Importing works similarly but reverses direction:

Inside psql,

\copy employees FROM 'employees.csv' WITH (FORMAT csv, HEADER true)

How Vinchin Backup & Recovery Protects Your PostgreSQL Database?

While mastering postgresql command usage ensures smooth day-to-day operations, safeguarding your data against loss requires robust backup strategies. Vinchin Backup & Recovery stands out as a professional enterprise-level solution supporting most mainstream databases—including PostgreSQL alongside Oracle, MySQL, SQL Server, MariaDB, PostgresPro and MongoDB.

Vinchin Backup & Recovery delivers advanced features such as incremental backup tailored for PostgreSQL workloads; batch database backup capabilities; flexible data retention policies including GFS retention policy; cloud backup and tape archiving options; plus ransomware protection—all designed for operational efficiency and business continuity. Together these features enable fast recovery times while optimizing storage utilization across hybrid environments.

The intuitive web console streamlines every step of protecting your PostgreSQL instance:

Step 1. Select the PostgreSQL database to back up

Select the PostgreSQL database to back up

Step 2. Choose the backup storage

Choose the backup storage

Step 3. Define the backup strategy

Define the backup strategy

Step 4. Submit the job

Submit the job

Trusted globally by thousands of enterprises—with top ratings for reliability—Vinchin Backup & Recovery offers a fully featured 60-day free trial so you can experience its power firsthand. Click below to get started today!

Postgresql Command FAQs

Q1: How do I change default connection timeout settings?

A1: Add connect_timeout=SECONDS in your connection string when starting psql sessions—for example: psql "host=dbhost dbname=mydb user=admin connect_timeout=15" sets timeout at 15 seconds.

Q2: What’s an easy way to securely store passwords for automated scripts?

A2: Use a .pgpass file in your home directory containing host/database/user/password entries so scripts can authenticate without exposing credentials inline.

Q3: How do I check which user owns a specific table?

A3: Inside psql run this query horizontally—type SELECT tablename , tableowner FROM pg_tables WHERE tablename='your_table';

Conclusion

Mastering postgresql command usage unlocks efficient administration—from basic exploration through advanced scripting—in any environment large or small. For robust backup protection tailored specifically for enterprise needs around PostgreSQL workloads,Vinchin delivers peace of mind every day.

Share on:

Categories: Database Tips