mirror of
https://github.com/postgres/postgres.git
synced 2025-06-25 01:02:05 +03:00
Fix crash caused by log_timezone patch if we attempt to emit any elog messages
between the setting of log_line_prefix and the setting of log_timezone. We can't realistically set log_timezone any earlier than we do now, so the best behavior seems to be to use GMT zone if any timestamps are to be logged during early startup. Create a dummy zone variable with a minimal definition of GMT (in particular it will never know about leap seconds), so that we can set it up without reference to any external files.
This commit is contained in:
@ -6,7 +6,7 @@
|
||||
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/include/pgtime.h,v 1.16 2007/08/04 01:26:54 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/include/pgtime.h,v 1.17 2007/08/04 19:29:25 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -52,6 +52,7 @@ extern int pg_next_dst_boundary(const pg_time_t *timep,
|
||||
extern size_t pg_strftime(char *s, size_t max, const char *format,
|
||||
const struct pg_tm * tm);
|
||||
|
||||
extern void pg_timezone_pre_initialize(void);
|
||||
extern void pg_timezone_initialize(void);
|
||||
extern pg_tz *pg_tzset(const char *tzname);
|
||||
extern bool tz_acceptable(pg_tz *tz);
|
||||
@ -64,6 +65,7 @@ extern void pg_tzenumerate_end(pg_tzenum *dir);
|
||||
|
||||
extern pg_tz *session_timezone;
|
||||
extern pg_tz *log_timezone;
|
||||
extern pg_tz *gmt_timezone;
|
||||
|
||||
/* Maximum length of a timezone name (not including trailing null) */
|
||||
#define TZ_STRLEN_MAX 255
|
||||
|
Reference in New Issue
Block a user