Search Postgresql Archives

Re: Is this a bug in pg_current_logfile() on Windows?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/8/20 6:45 AM, Adrian Klaver wrote:
On 7/8/20 6:05 AM, Thomas Kellerer wrote:
Hello,

I noticed the following strage output when running Postgres 12.3 (not psql) on Windows

     postgres=# select pg_current_logfile();
              pg_current_logfile
     ------------------------------------
      pg_log/postgresql-2020-07-08.log\r
     (1 row)

Note the "\r" at the end of the file name.

This does not happen when running Postgres on Linux.

Is this intended for some strange reason?
Or a bug or a technical limitation?

I'm guessing the difference between Unix line ending:

\n

and Windows:

\r\n


From source(backend/utils/adt/misc.c):

nlpos = strchr(log_filepath, '\n');
if (nlpos == NULL)
{
        /* Uh oh.  No newline found, so file content is corrupted. */
        elog(ERROR,
"missing newline character in \"%s\"", LOG_METAINFO_DATAFILE);
        break;
}
*nlpos = '\0';

if (logfmt == NULL || strcmp(logfmt, log_format) == 0)
{
        FreeFile(fd);
        PG_RETURN_TEXT_P(cstring_to_text(log_filepath));
}


Regards
Thomas






--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux