Re: Is this a bug in pg_current_logfile() on Windows? - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Is this a bug in pg_current_logfile() on Windows?
Date
Msg-id 945c1120-888c-8164-ddf7-216dfc637de0@aklaver.com
Whole thread Raw
In response to Re: Is this a bug in pg_current_logfile() on Windows?  (Adrian Klaver <adrian.klaver@aklaver.com>)
List pgsql-general
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@aklaver.com



pgsql-general by date:

Previous
From: "Yorwerth, Adam"
Date:
Subject: BigSerial and txid issuance
Next
From: FOUTE K. Jaurès
Date:
Subject: Re: PostgreSQL 12 - ERROR: could not rename file "pg_logical/snapshots/1A-7C00D890.snap.13594.tmp" to "pg_logical/snapshots/1A-7C00D890.snap": No space left on device