How to view PostgreSQL logs?

Better Stack Team
Updated on August 25, 2023

Viewing PostgreSQL logs can help you monitor and troubleshoot your database server. The steps to view the logs may vary depending on your operating system and PostgreSQL installation method. Here are some general methods to access PostgreSQL logs:

  1. Log Location in PostgreSQL Configuration: In your PostgreSQL configuration file (postgresql.conf), you can find the location of the log files. The parameter responsible for setting the log directory is log_directory. By default, PostgreSQL logs are stored in the pg_log subdirectory of the data directory. The data directory is specified by the data_directory parameter in the configuration file.
  2. View Logs using pg_log Directory: You can navigate to the pg_log directory and view the log files directly. The log files are typically named postgresql-<date>.log, where <date> represents the date the log was generated.
  3. Using pgAdmin (Graphical Interface): If you are using pgAdmin, a popular graphical tool for managing PostgreSQL, you can access the logs through the interface. Open pgAdmin, select your server in the object browser, right-click, and choose "Properties." In the properties window, you should find a "Log" tab that displays the log file's location and options to view and download the log file.
  4. Using psql (Command Line): You can use the psql command-line tool to view the logs as well. The logs are accessible via the pg_log directory. Here's an example of how to use psql to view logs:

    Open a terminal or command prompt and run psql with the following command:

    psql -U <username> -d <database_name>

    Once you are in the psql prompt, you can run SQL queries to access the logs. For example, you can use the pg_read_file function to read the log file:

    SELECT pg_read_file('pg_log/postgresql-<date>.log', 0, 1000000);

    Replace <date> with the appropriate log file date, and the function will return the content of the log file.

Remember that access to log files may require sufficient permissions, especially if you are trying to access them from the command line or other tools. Additionally, consider using appropriate tools or log management systems to analyze and monitor PostgreSQL logs, especially in production environments.

To learn more about logging, visit Better Stack Community.

Got an article suggestion? Let us know
Explore more
Licensed under CC-BY-NC-SA

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

We are hiring.

Software is our way of making the world a tiny bit better. We build tools for the makers of tomorrow.

Explore all positions →