【问题标题】:Where are the PostgreSQL logs on macOS?macOS 上的 PostgreSQL 日志在哪里?
【发布时间】:2011-02-03 13:03:47
【问题描述】:

我想查看 PostgreSQL 日志文件,以了解我的应用程序向它们写入的内容,但我找不到它们。

有什么想法吗?

【问题讨论】:

    标签: postgresql logging macos


    【解决方案1】:

    只需询问您的数据库:

    SELECT 
        * 
    FROM 
        pg_settings 
    WHERE 
        category IN( 'Reporting and Logging / Where to Log' , 'File Locations')
    ORDER BY 
        category,
        name;
    

    就我而言,它位于“/Library/PostgreSQL/8.4/data/pg_log”中

    【讨论】:

    • 嗯,在我的情况下,它是 stderr :/ sql 结果为 csv 这里:pastebin.com/20C92z2v
    • 你喜欢“跨平台”解决方案
    • 如果您的数据库无法启动并且您还不知道日志文件在哪里,这将不起作用。
    【解决方案2】:

    在 OS X 上,如果您使用 PostgreSQL 的 EnterpriseDB 安装,您的日志文件将位于 /Library/PostgreSQL/8.4/data/pg_log

    当然,您需要将 8.4 替换为您正在运行的任何版本号。

    【讨论】:

      【解决方案3】:

      用于在启动时启动 Postgres 的 plist 也可以设置日志文件:

      $ dir ~/Library/LaunchAgents
      org.postgresql.postgres.plist
      
      $ cat ~/Library/LaunchAgents/org.postgresql.postgres.plist
      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
      <plist version="1.0">
      <dict>
        [...]
        <key>StandardErrorPath</key>
        <string>/usr/local/var/postgres/server.log</string>
      </dict>
      </plist>
      

      所以在这种情况下,/usr/local/var/postgres/server.log

      【讨论】:

        【解决方案4】:

        我的 mac 上安装了不同的 Postgresql 版本(带有 macports),所有日志都可以在这里找到

        /opt/local/var/log/postgresql84/postgres.log
        /opt/local/var/log/postgresql91/postgres.log
        /opt/local/var/log/postgresql92/postgres.log
        

        【讨论】:

          【解决方案5】:

          在 OSX Homebrew 安装中,可以在以下位置找到日志:

          /usr/local/var/log/postgres.log 
          

          或者对于旧版本的 postgres (

          /usr/local/var/postgres/server.log
          

          【讨论】:

          • 我不得不取消注释/usr/local/var/postgres/postgresql.conf中的一些与日志记录相关的行
          【解决方案6】:

          Postgresapp 9.3.5.1 及更高版本保留服务器日志。日志位于数据目录中,名为 postgres-server.log。

          【讨论】:

            【解决方案7】:

            如果您使用的是Postgres.app,您可以在“首选项”对话框中找到“数据目录”位置。在该目录中,日志位于postgres-server.log

            例如,在我的机器上,日志位于/Users/nofinator/Library/Application Support/Postgres/var-9.4/postgres-server.log

            【讨论】:

              【解决方案8】:

              对于使用自制软件安装 postgres 的 Apple M1(Big Sur) 用户,位置为 -

               /opt/homebrew/var/log/postgres.log
              

              【讨论】:

                【解决方案9】:

                对于 ma​​cports 的用户,升级到 Big Sur 后,预计会出现 /opt/local/var/log/postgresql11(假设您运行的是 postgresql 11)。

                【讨论】:

                  【解决方案10】:

                  Postgres 13

                  在 postgres 版本 13 中,所有日志都按日期顺序排列。 找到它的正确文件夹是:

                  sudo ls /Library/PostgreSQL/13/data/log
                  

                  在这里您可以看到为选择任何一个日志文件使用而创建的所有日志文件

                  sudo vim /Library/PostgreSQL/13/data/log/postgresql-2021-08-20_051906.log

                  【讨论】:

                  • 这也适用于 postgres 12
                  猜你喜欢
                  • 2017-09-09
                  • 2015-08-10
                  • 1970-01-01
                  • 1970-01-01
                  • 2016-06-04
                  • 2019-07-13
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多