agora inbox for pgsql-hackers@postgresql.org
help / color / mirror / Atom feed[PATCH v30 01/11] Add a syntax to create Incrementally Maintainable Materialized Views
298+ messages / 2 participants
[nested] [flat]
* [PATCH v30 01/11] Add a syntax to create Incrementally Maintainable Materialized Views
@ 2019-12-20 01:05 Yugo Nagata <nagata@sraoss.co.jp>
0 siblings, 0 replies; 298+ messages in thread
From: Yugo Nagata @ 2019-12-20 01:05 UTC (permalink / raw)
Allow to create Incrementally Maintainable Materialized View (IMMV)
by using INCREMENTAL option in CREATE MATERIALIZED VIEW command
as follow:
CREATE [INCREMANTAL] MATERIALIZED VIEW xxxxx AS SELECT ....;
---
src/backend/parser/gram.y | 32 +++++++++++++++++++++-----------
src/include/nodes/primnodes.h | 1 +
src/include/parser/kwlist.h | 1 +
3 files changed, 23 insertions(+), 11 deletions(-)
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 130f7fc7c3..7ba972ae5d 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -466,6 +466,7 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
%type <range> OptTempTableName
%type <into> into_clause create_as_target create_mv_target
+%type <boolean> incremental
%type <defelt> createfunc_opt_item common_func_opt_item dostmt_opt_item
%type <fun_param> func_arg func_arg_with_default table_func_column aggr_arg
@@ -719,7 +720,7 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
HANDLER HAVING HEADER_P HOLD HOUR_P
IDENTITY_P IF_P ILIKE IMMEDIATE IMMUTABLE IMPLICIT_P IMPORT_P IN_P INCLUDE
- INCLUDING INCREMENT INDENT INDEX INDEXES INHERIT INHERITS INITIALLY INLINE_P
+ INCLUDING INCREMENT INCREMENTAL INDENT INDEX INDEXES INHERIT INHERITS INITIALLY INLINE_P
INNER_P INOUT INPUT_P INSENSITIVE INSERT INSTEAD INT_P INTEGER
INTERSECT INTERVAL INTO INVOKER IS ISNULL ISOLATION
@@ -4696,32 +4697,34 @@ opt_with_data:
*****************************************************************************/
CreateMatViewStmt:
- CREATE OptNoLog MATERIALIZED VIEW create_mv_target AS SelectStmt opt_with_data
+ CREATE OptNoLog incremental MATERIALIZED VIEW create_mv_target AS SelectStmt opt_with_data
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
- ctas->query = $7;
- ctas->into = $5;
+ ctas->query = $8;
+ ctas->into = $6;
ctas->objtype = OBJECT_MATVIEW;
ctas->is_select_into = false;
ctas->if_not_exists = false;
/* cram additional flags into the IntoClause */
- $5->rel->relpersistence = $2;
- $5->skipData = !($8);
+ $6->rel->relpersistence = $2;
+ $6->skipData = !($9);
+ $6->ivm = $3;
$$ = (Node *) ctas;
}
- | CREATE OptNoLog MATERIALIZED VIEW IF_P NOT EXISTS create_mv_target AS SelectStmt opt_with_data
+ | CREATE OptNoLog incremental MATERIALIZED VIEW IF_P NOT EXISTS create_mv_target AS SelectStmt opt_with_data
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
- ctas->query = $10;
- ctas->into = $8;
+ ctas->query = $11;
+ ctas->into = $9;
ctas->objtype = OBJECT_MATVIEW;
ctas->is_select_into = false;
ctas->if_not_exists = true;
/* cram additional flags into the IntoClause */
- $8->rel->relpersistence = $2;
- $8->skipData = !($11);
+ $9->rel->relpersistence = $2;
+ $9->skipData = !($12);
+ $9->ivm = $3;
$$ = (Node *) ctas;
}
;
@@ -4738,9 +4741,14 @@ create_mv_target:
$$->tableSpaceName = $5;
$$->viewQuery = NULL; /* filled at analysis time */
$$->skipData = false; /* might get changed later */
+ $$->ivm = false;
}
;
+incremental: INCREMENTAL { $$ = true; }
+ | /*EMPTY*/ { $$ = false; }
+ ;
+
OptNoLog: UNLOGGED { $$ = RELPERSISTENCE_UNLOGGED; }
| /*EMPTY*/ { $$ = RELPERSISTENCE_PERMANENT; }
;
@@ -17252,6 +17260,7 @@ unreserved_keyword:
| INCLUDE
| INCLUDING
| INCREMENT
+ | INCREMENTAL
| INDENT
| INDEX
| INDEXES
@@ -17820,6 +17829,7 @@ bare_label_keyword:
| INCLUDE
| INCLUDING
| INCREMENT
+ | INCREMENTAL
| INDENT
| INDEX
| INDEXES
diff --git a/src/include/nodes/primnodes.h b/src/include/nodes/primnodes.h
index 4a154606d2..5d61964f37 100644
--- a/src/include/nodes/primnodes.h
+++ b/src/include/nodes/primnodes.h
@@ -154,6 +154,7 @@ typedef struct IntoClause
/* materialized view's SELECT query */
Node *viewQuery pg_node_attr(query_jumble_ignore);
bool skipData; /* true for WITH NO DATA */
+ bool ivm; /* true for WITH IVM */
} IntoClause;
diff --git a/src/include/parser/kwlist.h b/src/include/parser/kwlist.h
index 2331acac09..ab92b54642 100644
--- a/src/include/parser/kwlist.h
+++ b/src/include/parser/kwlist.h
@@ -207,6 +207,7 @@ PG_KEYWORD("in", IN_P, RESERVED_KEYWORD, BARE_LABEL)
PG_KEYWORD("include", INCLUDE, UNRESERVED_KEYWORD, BARE_LABEL)
PG_KEYWORD("including", INCLUDING, UNRESERVED_KEYWORD, BARE_LABEL)
PG_KEYWORD("increment", INCREMENT, UNRESERVED_KEYWORD, BARE_LABEL)
+PG_KEYWORD("incremental", INCREMENTAL, UNRESERVED_KEYWORD, BARE_LABEL)
PG_KEYWORD("indent", INDENT, UNRESERVED_KEYWORD, BARE_LABEL)
PG_KEYWORD("index", INDEX, UNRESERVED_KEYWORD, BARE_LABEL)
PG_KEYWORD("indexes", INDEXES, UNRESERVED_KEYWORD, BARE_LABEL)
--
2.25.1
--Multipart=_Mon__4_Mar_2024_11_58_46_+0900_UaponF/qQhQrVCFt
Content-Type: text/x-diff;
name="v30-0002-Add-relisivm-column-to-pg_class-system-catalog.patch"
Content-Disposition: attachment;
filename="v30-0002-Add-relisivm-column-to-pg_class-system-catalog.patch"
Content-Transfer-Encoding: 7bit
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
* [PATCH] POC: syslogger: add Boolean state indicating readiness
@ 2026-05-26 10:45 Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 0 replies; 298+ messages in thread
From: Álvaro Herrera @ 2026-05-26 10:45 UTC (permalink / raw)
This replaces a comparison of MyBackendType, which was made obsolete by
commit 0c8e082fba8d.
---
src/backend/postmaster/syslogger.c | 5 +++++
src/backend/utils/error/elog.c | 6 +++---
src/include/postmaster/syslogger.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index acfe0a01715..d736f6a4fab 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -76,6 +76,9 @@ char *Log_filename = NULL;
bool Log_truncate_on_rotation = false;
int Log_file_mode = S_IRUSR | S_IWUSR;
+/* for elog.c */
+bool syslogger_setup_done = false;
+
/*
* Private state
*/
@@ -195,6 +198,8 @@ SysLoggerMain(const void *startup_data, size_t startup_data_len)
Assert(startup_data_len == 0);
#endif
+ syslogger_setup_done = true;
+
/*
* Now that we're done reading the startup data, release postmaster's
* working memory context.
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 50c53b571a0..a6936a0c664 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -3831,7 +3831,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
write_csvlog(edata);
else
fallback_to_stderr = true;
@@ -3845,7 +3845,7 @@ send_message_to_server_log(ErrorData *edata)
* pipe). If this is not possible, fallback to an entry written to
* stderr.
*/
- if (redirection_done || MyBackendType == B_LOGGER)
+ if (redirection_done || syslogger_setup_done)
{
write_jsonlog(edata);
}
@@ -3885,7 +3885,7 @@ send_message_to_server_log(ErrorData *edata)
}
/* If in the syslogger process, try to write messages direct to file */
- if (MyBackendType == B_LOGGER)
+ if (syslogger_setup_done)
write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR);
/* No more need of the message formatted for stderr */
diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h
index 30c4b2daf3f..44409fc2542 100644
--- a/src/include/postmaster/syslogger.h
+++ b/src/include/postmaster/syslogger.h
@@ -85,6 +85,7 @@ extern PGDLLIMPORT int syslogPipe[2];
extern PGDLLIMPORT HANDLE syslogPipe[2];
#endif
+extern bool syslogger_setup_done;
extern int SysLogger_Start(int child_slot);
--
2.47.3
--oji7a74ejnbtd35k--
^ permalink raw reply [nested|flat] 298+ messages in thread
end of thread, other threads:[~2026-05-26 10:45 UTC | newest]
Thread overview: 298+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2019-12-20 01:05 [PATCH v30 01/11] Add a syntax to create Incrementally Maintainable Materialized Views Yugo Nagata <nagata@sraoss.co.jp>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
2026-05-26 10:45 [PATCH] POC: syslogger: add Boolean state indicating readiness Álvaro Herrera <alvherre@kurilemu.de>
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox