Re: Is this a bug in pg_current_logfile() on Windows?
От | Adrian Klaver |
---|---|
Тема | Re: Is this a bug in pg_current_logfile() on Windows? |
Дата | |
Msg-id | 945c1120-888c-8164-ddf7-216dfc637de0@aklaver.com обсуждение исходный текст |
Ответ на | Re: Is this a bug in pg_current_logfile() on Windows? (Adrian Klaver <adrian.klaver@aklaver.com>) |
Список | 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 по дате отправления: