From 05e5cf58e66072202707c6fddcd59768a26039be Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 2 Dec 2020 13:16:15 +0100 Subject: [PATCH] Convert elog(LOG) calls to ereport() where appropriate User-visible log messages should go through ereport(), so they are subject to translation. Many remaining elog(LOG) calls are really debugging calls. --- src/backend/access/gist/gist.c | 5 +- src/backend/access/nbtree/nbtpage.c | 7 +- src/backend/access/transam/xlog.c | 98 ++++++++++++++++-------- src/backend/commands/variable.c | 3 +- src/backend/libpq/auth.c | 7 +- src/backend/libpq/hba.c | 3 +- src/backend/libpq/pqcomm.c | 56 +++++++++----- src/backend/optimizer/geqo/geqo_erx.c | 9 ++- src/backend/port/posix_sema.c | 18 +++-- src/backend/port/sysv_sema.c | 12 ++- src/backend/port/sysv_shmem.c | 55 +++++++------ src/backend/port/win32_shmem.c | 71 ++++++++++------- src/backend/postmaster/bgworker.c | 8 +- src/backend/postmaster/pgstat.c | 20 +++-- src/backend/postmaster/postmaster.c | 44 +++++++---- src/backend/replication/logical/origin.c | 9 ++- src/backend/storage/file/fd.c | 6 +- src/backend/utils/misc/guc.c | 2 +- 18 files changed, 274 insertions(+), 159 deletions(-) diff --git a/src/backend/access/gist/gist.c b/src/backend/access/gist/gist.c index 25b42e38f2..3f2b416ce1 100644 --- a/src/backend/access/gist/gist.c +++ b/src/backend/access/gist/gist.c @@ -1167,8 +1167,9 @@ gistfixsplit(GISTInsertState *state, GISTSTATE *giststate) Page page; List *splitinfo = NIL; - elog(LOG, "fixing incomplete split in index \"%s\", block %u", - RelationGetRelationName(state->r), stack->blkno); + ereport(LOG, + (errmsg("fixing incomplete split in index \"%s\", block %u", + RelationGetRelationName(state->r), stack->blkno))); Assert(GistFollowRight(stack->page)); Assert(OffsetNumberIsValid(stack->downlinkoffnum)); diff --git a/src/backend/access/nbtree/nbtpage.c b/src/backend/access/nbtree/nbtpage.c index 848123d921..793434c026 100644 --- a/src/backend/access/nbtree/nbtpage.c +++ b/src/backend/access/nbtree/nbtpage.c @@ -2151,9 +2151,10 @@ _bt_unlink_halfdead_page(Relation rel, Buffer leafbuf, BlockNumber scanblkno, if (leftsib == P_NONE) { - elog(LOG, "no left sibling (concurrent deletion?) of block %u in \"%s\"", - target, - RelationGetRelationName(rel)); + ereport(LOG, + (errmsg("no left sibling (concurrent deletion?) of block %u in \"%s\"", + target, + RelationGetRelationName(rel)))); if (target != leafblkno) { /* we have only a pin on target, but pin+lock on leafbuf */ diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 13f1d8c3dc..bf9c77cdcb 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -1811,9 +1811,10 @@ WaitXLogInsertionsToFinish(XLogRecPtr upto) */ if (upto > reservedUpto) { - elog(LOG, "request to flush past end of generated WAL; request %X/%X, currpos %X/%X", - (uint32) (upto >> 32), (uint32) upto, - (uint32) (reservedUpto >> 32), (uint32) reservedUpto); + ereport(LOG, + (errmsg("request to flush past end of generated WAL; request %X/%X, current position %X/%X", + (uint32) (upto >> 32), (uint32) upto, + (uint32) (reservedUpto >> 32), (uint32) reservedUpto))); upto = reservedUpto; } @@ -8532,16 +8533,28 @@ ShutdownXLOG(int code, Datum arg) static void LogCheckpointStart(int flags, bool restartpoint) { - elog(LOG, "%s starting:%s%s%s%s%s%s%s%s", - restartpoint ? "restartpoint" : "checkpoint", - (flags & CHECKPOINT_IS_SHUTDOWN) ? " shutdown" : "", - (flags & CHECKPOINT_END_OF_RECOVERY) ? " end-of-recovery" : "", - (flags & CHECKPOINT_IMMEDIATE) ? " immediate" : "", - (flags & CHECKPOINT_FORCE) ? " force" : "", - (flags & CHECKPOINT_WAIT) ? " wait" : "", - (flags & CHECKPOINT_CAUSE_XLOG) ? " wal" : "", - (flags & CHECKPOINT_CAUSE_TIME) ? " time" : "", - (flags & CHECKPOINT_FLUSH_ALL) ? " flush-all" : ""); + if (restartpoint) + ereport(LOG, + (errmsg("restartpoint starting:%s%s%s%s%s%s%s%s", + (flags & CHECKPOINT_IS_SHUTDOWN) ? " shutdown" : "", + (flags & CHECKPOINT_END_OF_RECOVERY) ? " end-of-recovery" : "", + (flags & CHECKPOINT_IMMEDIATE) ? " immediate" : "", + (flags & CHECKPOINT_FORCE) ? " force" : "", + (flags & CHECKPOINT_WAIT) ? " wait" : "", + (flags & CHECKPOINT_CAUSE_XLOG) ? " wal" : "", + (flags & CHECKPOINT_CAUSE_TIME) ? " time" : "", + (flags & CHECKPOINT_FLUSH_ALL) ? " flush-all" : ""))); + else + ereport(LOG, + (errmsg("checkpoint starting:%s%s%s%s%s%s%s%s", + (flags & CHECKPOINT_IS_SHUTDOWN) ? " shutdown" : "", + (flags & CHECKPOINT_END_OF_RECOVERY) ? " end-of-recovery" : "", + (flags & CHECKPOINT_IMMEDIATE) ? " immediate" : "", + (flags & CHECKPOINT_FORCE) ? " force" : "", + (flags & CHECKPOINT_WAIT) ? " wait" : "", + (flags & CHECKPOINT_CAUSE_XLOG) ? " wal" : "", + (flags & CHECKPOINT_CAUSE_TIME) ? " time" : "", + (flags & CHECKPOINT_FLUSH_ALL) ? " flush-all" : ""))); } /* @@ -8591,25 +8604,46 @@ LogCheckpointEnd(bool restartpoint) CheckpointStats.ckpt_sync_rels; average_msecs = (long) ((average_sync_time + 999) / 1000); - elog(LOG, "%s complete: wrote %d buffers (%.1f%%); " - "%d WAL file(s) added, %d removed, %d recycled; " - "write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; " - "sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; " - "distance=%d kB, estimate=%d kB", - restartpoint ? "restartpoint" : "checkpoint", - CheckpointStats.ckpt_bufs_written, - (double) CheckpointStats.ckpt_bufs_written * 100 / NBuffers, - CheckpointStats.ckpt_segs_added, - CheckpointStats.ckpt_segs_removed, - CheckpointStats.ckpt_segs_recycled, - write_msecs / 1000, (int) (write_msecs % 1000), - sync_msecs / 1000, (int) (sync_msecs % 1000), - total_msecs / 1000, (int) (total_msecs % 1000), - CheckpointStats.ckpt_sync_rels, - longest_msecs / 1000, (int) (longest_msecs % 1000), - average_msecs / 1000, (int) (average_msecs % 1000), - (int) (PrevCheckPointDistance / 1024.0), - (int) (CheckPointDistanceEstimate / 1024.0)); + if (restartpoint) + ereport(LOG, + (errmsg("restartpoint complete: wrote %d buffers (%.1f%%); " + "%d WAL file(s) added, %d removed, %d recycled; " + "write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; " + "sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; " + "distance=%d kB, estimate=%d kB", + CheckpointStats.ckpt_bufs_written, + (double) CheckpointStats.ckpt_bufs_written * 100 / NBuffers, + CheckpointStats.ckpt_segs_added, + CheckpointStats.ckpt_segs_removed, + CheckpointStats.ckpt_segs_recycled, + write_msecs / 1000, (int) (write_msecs % 1000), + sync_msecs / 1000, (int) (sync_msecs % 1000), + total_msecs / 1000, (int) (total_msecs % 1000), + CheckpointStats.ckpt_sync_rels, + longest_msecs / 1000, (int) (longest_msecs % 1000), + average_msecs / 1000, (int) (average_msecs % 1000), + (int) (PrevCheckPointDistance / 1024.0), + (int) (CheckPointDistanceEstimate / 1024.0)))); + else + ereport(LOG, + (errmsg("checkpoint complete: wrote %d buffers (%.1f%%); " + "%d WAL file(s) added, %d removed, %d recycled; " + "write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; " + "sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; " + "distance=%d kB, estimate=%d kB", + CheckpointStats.ckpt_bufs_written, + (double) CheckpointStats.ckpt_bufs_written * 100 / NBuffers, + CheckpointStats.ckpt_segs_added, + CheckpointStats.ckpt_segs_removed, + CheckpointStats.ckpt_segs_recycled, + write_msecs / 1000, (int) (write_msecs % 1000), + sync_msecs / 1000, (int) (sync_msecs % 1000), + total_msecs / 1000, (int) (total_msecs % 1000), + CheckpointStats.ckpt_sync_rels, + longest_msecs / 1000, (int) (longest_msecs % 1000), + average_msecs / 1000, (int) (average_msecs % 1000), + (int) (PrevCheckPointDistance / 1024.0), + (int) (CheckPointDistanceEstimate / 1024.0)))); } /* diff --git a/src/backend/commands/variable.c b/src/backend/commands/variable.c index 484f7ea2c0..66b7ebb02e 100644 --- a/src/backend/commands/variable.c +++ b/src/backend/commands/variable.c @@ -725,7 +725,8 @@ assign_client_encoding(const char *newval, void *extra) /* We do not expect an error if PrepareClientEncoding succeeded */ if (SetClientEncoding(encoding) < 0) - elog(LOG, "SetClientEncoding(%d) failed", encoding); + ereport(LOG, + (errmsg("SetClientEncoding(%d) failed", encoding))); } diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c index d132c5cb48..3d80930968 100644 --- a/src/backend/libpq/auth.c +++ b/src/backend/libpq/auth.c @@ -2131,9 +2131,10 @@ pam_passwd_conv_proc(int num_msg, const struct pam_message **msg, reply[i].resp_retcode = PAM_SUCCESS; break; default: - elog(LOG, "unsupported PAM conversation %d/\"%s\"", - msg[i]->msg_style, - msg[i]->msg ? msg[i]->msg : "(none)"); + ereport(LOG, + (errmsg("unsupported PAM conversation %d/\"%s\"", + msg[i]->msg_style, + msg[i]->msg ? msg[i]->msg : "(none)"))); goto fail; } } diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c index 3a78d2043e..0cc4397769 100644 --- a/src/backend/libpq/hba.c +++ b/src/backend/libpq/hba.c @@ -857,7 +857,8 @@ check_same_host_or_net(SockAddr *raddr, IPCompareMethod method) errno = 0; if (pg_foreach_ifaddr(check_network_callback, &cn) < 0) { - elog(LOG, "error enumerating network interfaces: %m"); + ereport(LOG, + (errmsg("error enumerating network interfaces: %m"))); return false; } diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c index 64a351cedc..04f6489d95 100644 --- a/src/backend/libpq/pqcomm.c +++ b/src/backend/libpq/pqcomm.c @@ -750,7 +750,8 @@ StreamConnection(pgsocket server_fd, Port *port) (struct sockaddr *) &port->laddr.addr, &port->laddr.salen) < 0) { - elog(LOG, "getsockname() failed: %m"); + ereport(LOG, + (errmsg("getsockname() failed: %m"))); return STATUS_ERROR; } @@ -769,7 +770,8 @@ StreamConnection(pgsocket server_fd, Port *port) if (setsockopt(port->sock, IPPROTO_TCP, TCP_NODELAY, (char *) &on, sizeof(on)) < 0) { - elog(LOG, "setsockopt(%s) failed: %m", "TCP_NODELAY"); + ereport(LOG, + (errmsg("setsockopt(%s) failed: %m", "TCP_NODELAY"))); return STATUS_ERROR; } #endif @@ -777,7 +779,8 @@ StreamConnection(pgsocket server_fd, Port *port) if (setsockopt(port->sock, SOL_SOCKET, SO_KEEPALIVE, (char *) &on, sizeof(on)) < 0) { - elog(LOG, "setsockopt(%s) failed: %m", "SO_KEEPALIVE"); + ereport(LOG, + (errmsg("setsockopt(%s) failed: %m", "SO_KEEPALIVE"))); return STATUS_ERROR; } @@ -808,7 +811,8 @@ StreamConnection(pgsocket server_fd, Port *port) if (getsockopt(port->sock, SOL_SOCKET, SO_SNDBUF, (char *) &oldopt, &optlen) < 0) { - elog(LOG, "getsockopt(%s) failed: %m", "SO_SNDBUF"); + ereport(LOG, + (errmsg("getsockopt(%s) failed: %m", "SO_SNDBUF"))); return STATUS_ERROR; } newopt = PQ_SEND_BUFFER_SIZE * 4; @@ -817,7 +821,8 @@ StreamConnection(pgsocket server_fd, Port *port) if (setsockopt(port->sock, SOL_SOCKET, SO_SNDBUF, (char *) &newopt, sizeof(newopt)) < 0) { - elog(LOG, "setsockopt(%s) failed: %m", "SO_SNDBUF"); + ereport(LOG, + (errmsg("setsockopt(%s) failed: %m", "SO_SNDBUF"))); return STATUS_ERROR; } } @@ -1677,8 +1682,9 @@ pq_setkeepaliveswin32(Port *port, int idle, int interval) NULL) != 0) { - elog(LOG, "WSAIoctl(SIO_KEEPALIVE_VALS) failed: %ui", - WSAGetLastError()); + ereport(LOG, + (errmsg("WSAIoctl(SIO_KEEPALIVE_VALS) failed: %ui", + WSAGetLastError()))); return STATUS_ERROR; } if (port->keepalives_idle != idle) @@ -1708,7 +1714,8 @@ pq_getkeepalivesidle(Port *port) (char *) &port->default_keepalives_idle, &size) < 0) { - elog(LOG, "getsockopt(%s) failed: %m", PG_TCP_KEEPALIVE_IDLE_STR); + ereport(LOG, + (errmsg("getsockopt(%s) failed: %m", PG_TCP_KEEPALIVE_IDLE_STR))); port->default_keepalives_idle = -1; /* don't know */ } #else /* WIN32 */ @@ -1752,7 +1759,8 @@ pq_setkeepalivesidle(int idle, Port *port) if (setsockopt(port->sock, IPPROTO_TCP, PG_TCP_KEEPALIVE_IDLE, (char *) &idle, sizeof(idle)) < 0) { - elog(LOG, "setsockopt(%s) failed: %m", PG_TCP_KEEPALIVE_IDLE_STR); + ereport(LOG, + (errmsg("setsockopt(%s) failed: %m", PG_TCP_KEEPALIVE_IDLE_STR))); return STATUS_ERROR; } @@ -1763,7 +1771,8 @@ pq_setkeepalivesidle(int idle, Port *port) #else if (idle != 0) { - elog(LOG, "setting the keepalive idle time is not supported"); + ereport(LOG, + (errmsg("setting the keepalive idle time is not supported"))); return STATUS_ERROR; } #endif @@ -1790,7 +1799,8 @@ pq_getkeepalivesinterval(Port *port) (char *) &port->default_keepalives_interval, &size) < 0) { - elog(LOG, "getsockopt(%s) failed: %m", "TCP_KEEPINTVL"); + ereport(LOG, + (errmsg("getsockopt(%s) failed: %m", "TCP_KEEPINTVL"))); port->default_keepalives_interval = -1; /* don't know */ } #else @@ -1833,7 +1843,8 @@ pq_setkeepalivesinterval(int interval, Port *port) if (setsockopt(port->sock, IPPROTO_TCP, TCP_KEEPINTVL, (char *) &interval, sizeof(interval)) < 0) { - elog(LOG, "setsockopt(%s) failed: %m", "TCP_KEEPINTVL"); + ereport(LOG, + (errmsg("setsockopt(%s) failed: %m", "TCP_KEEPINTVL"))); return STATUS_ERROR; } @@ -1844,7 +1855,8 @@ pq_setkeepalivesinterval(int interval, Port *port) #else if (interval != 0) { - elog(LOG, "setsockopt(%s) not supported", "TCP_KEEPINTVL"); + ereport(LOG, + (errmsg("setsockopt(%s) not supported", "TCP_KEEPINTVL"))); return STATUS_ERROR; } #endif @@ -1870,7 +1882,8 @@ pq_getkeepalivescount(Port *port) (char *) &port->default_keepalives_count, &size) < 0) { - elog(LOG, "getsockopt(%s) failed: %m", "TCP_KEEPCNT"); + ereport(LOG, + (errmsg("getsockopt(%s) failed: %m", "TCP_KEEPCNT"))); port->default_keepalives_count = -1; /* don't know */ } } @@ -1908,7 +1921,8 @@ pq_setkeepalivescount(int count, Port *port) if (setsockopt(port->sock, IPPROTO_TCP, TCP_KEEPCNT, (char *) &count, sizeof(count)) < 0) { - elog(LOG, "setsockopt(%s) failed: %m", "TCP_KEEPCNT"); + ereport(LOG, + (errmsg("setsockopt(%s) failed: %m", "TCP_KEEPCNT"))); return STATUS_ERROR; } @@ -1916,7 +1930,8 @@ pq_setkeepalivescount(int count, Port *port) #else if (count != 0) { - elog(LOG, "setsockopt(%s) not supported", "TCP_KEEPCNT"); + ereport(LOG, + (errmsg("setsockopt(%s) not supported", "TCP_KEEPCNT"))); return STATUS_ERROR; } #endif @@ -1942,7 +1957,8 @@ pq_gettcpusertimeout(Port *port) (char *) &port->default_tcp_user_timeout, &size) < 0) { - elog(LOG, "getsockopt(%s) failed: %m", "TCP_USER_TIMEOUT"); + ereport(LOG, + (errmsg("getsockopt(%s) failed: %m", "TCP_USER_TIMEOUT"))); port->default_tcp_user_timeout = -1; /* don't know */ } } @@ -1980,7 +1996,8 @@ pq_settcpusertimeout(int timeout, Port *port) if (setsockopt(port->sock, IPPROTO_TCP, TCP_USER_TIMEOUT, (char *) &timeout, sizeof(timeout)) < 0) { - elog(LOG, "setsockopt(%s) failed: %m", "TCP_USER_TIMEOUT"); + ereport(LOG, + (errmsg("setsockopt(%s) failed: %m", "TCP_USER_TIMEOUT"))); return STATUS_ERROR; } @@ -1988,7 +2005,8 @@ pq_settcpusertimeout(int timeout, Port *port) #else if (timeout != 0) { - elog(LOG, "setsockopt(%s) not supported", "TCP_USER_TIMEOUT"); + ereport(LOG, + (errmsg("setsockopt(%s) not supported", "TCP_USER_TIMEOUT"))); return STATUS_ERROR; } #endif diff --git a/src/backend/optimizer/geqo/geqo_erx.c b/src/backend/optimizer/geqo/geqo_erx.c index 3b92f420e0..fc9adaafa8 100644 --- a/src/backend/optimizer/geqo/geqo_erx.c +++ b/src/backend/optimizer/geqo/geqo_erx.c @@ -420,7 +420,8 @@ edge_failure(PlannerInfo *root, Gene *gene, int index, Edge *edge_table, int num } } - elog(LOG, "no edge found via random decision and total_edges == 4"); + ereport(LOG, + (errmsg("no edge found via random decision and total_edges == 4"))); } else if (remaining_edges != 0) { @@ -441,7 +442,8 @@ edge_failure(PlannerInfo *root, Gene *gene, int index, Edge *edge_table, int num } } - elog(LOG, "no edge found via random decision with remaining edges"); + ereport(LOG, + (errmsg("no edge found via random decision with remaining edges"))); } /* @@ -459,7 +461,8 @@ edge_failure(PlannerInfo *root, Gene *gene, int index, Edge *edge_table, int num if (edge_table[i].unused_edges >= 0) return (Gene) i; - elog(LOG, "no edge found via looking for the last unused point"); + ereport(LOG, + (errmsg("no edge found via looking for the last unused point"))); } diff --git a/src/backend/port/posix_sema.c b/src/backend/port/posix_sema.c index 277b82ca80..b6f57edfc8 100644 --- a/src/backend/port/posix_sema.c +++ b/src/backend/port/posix_sema.c @@ -149,11 +149,13 @@ PosixSemaphoreKill(sem_t *sem) #ifdef USE_NAMED_POSIX_SEMAPHORES /* Got to use sem_close for named semaphores */ if (sem_close(sem) < 0) - elog(LOG, "sem_close failed: %m"); + ereport(LOG, + (errmsg("sem_close() failed: %m"))); #else /* Got to use sem_destroy for unnamed semaphores */ if (sem_destroy(sem) < 0) - elog(LOG, "sem_destroy failed: %m"); + ereport(LOG, + (errmsg("sem_destroy() failed: %m"))); #endif } @@ -306,7 +308,8 @@ PGSemaphoreReset(PGSemaphore sema) break; /* got it down to 0 */ if (errno == EINTR) continue; /* can this happen? */ - elog(FATAL, "sem_trywait failed: %m"); + ereport(FATAL, + (errmsg("sem_trywait() failed: %m"))); } } } @@ -328,7 +331,8 @@ PGSemaphoreLock(PGSemaphore sema) } while (errStatus < 0 && errno == EINTR); if (errStatus < 0) - elog(FATAL, "sem_wait failed: %m"); + ereport(FATAL, + (errmsg("sem_wait() failed: %m"))); } /* @@ -353,7 +357,8 @@ PGSemaphoreUnlock(PGSemaphore sema) } while (errStatus < 0 && errno == EINTR); if (errStatus < 0) - elog(FATAL, "sem_post failed: %m"); + ereport(FATAL, + (errmsg("sem_post() failed: %m"))); } /* @@ -381,7 +386,8 @@ PGSemaphoreTryLock(PGSemaphore sema) if (errno == EAGAIN || errno == EDEADLK) return false; /* failed to lock it */ /* Otherwise we got trouble */ - elog(FATAL, "sem_trywait failed: %m"); + ereport(FATAL, + (errmsg("sem_trywait() failed: %m"))); } return true; diff --git a/src/backend/port/sysv_sema.c b/src/backend/port/sysv_sema.c index 88c2862d58..181b5607c5 100644 --- a/src/backend/port/sysv_sema.c +++ b/src/backend/port/sysv_sema.c @@ -173,7 +173,8 @@ IpcSemaphoreKill(IpcSemaphoreId semId) semun.val = 0; /* unused, but keep compiler quiet */ if (semctl(semId, 0, IPC_RMID, semun) < 0) - elog(LOG, "semctl(%d, 0, IPC_RMID, ...) failed: %m", semId); + ereport(LOG, + (errmsg("semctl(%d, 0, IPC_RMID, ...) failed: %m", semId))); } /* Get the current value (semval) of the semaphore */ @@ -440,7 +441,8 @@ PGSemaphoreLock(PGSemaphore sema) } while (errStatus < 0 && errno == EINTR); if (errStatus < 0) - elog(FATAL, "semop(id=%d) failed: %m", sema->semId); + ereport(FATAL, + (errmsg("semop(id=%d) failed: %m", sema->semId))); } /* @@ -470,7 +472,8 @@ PGSemaphoreUnlock(PGSemaphore sema) } while (errStatus < 0 && errno == EINTR); if (errStatus < 0) - elog(FATAL, "semop(id=%d) failed: %m", sema->semId); + ereport(FATAL, + (errmsg("semop(id=%d) failed: %m", sema->semId))); } /* @@ -510,7 +513,8 @@ PGSemaphoreTryLock(PGSemaphore sema) return false; /* failed to lock it */ #endif /* Otherwise we got trouble */ - elog(FATAL, "semop(id=%d) failed: %m", sema->semId); + ereport(FATAL, + (errmsg("semop(id=%d) failed: %m", sema->semId))); } return true; diff --git a/src/backend/port/sysv_shmem.c b/src/backend/port/sysv_shmem.c index 203555822d..6af1305dbb 100644 --- a/src/backend/port/sysv_shmem.c +++ b/src/backend/port/sysv_shmem.c @@ -198,8 +198,9 @@ InternalIpcMemoryCreate(IpcMemoryKey memKey, Size size) * the original error. */ if (shmctl(shmid, IPC_RMID, NULL) < 0) - elog(LOG, "shmctl(%d, %d, 0) failed: %m", - (int) shmid, IPC_RMID); + ereport(LOG, + (errmsg("shmctl(%d, %d, 0) failed: %m", + (int) shmid, IPC_RMID))); } } @@ -248,8 +249,9 @@ InternalIpcMemoryCreate(IpcMemoryKey memKey, Size size) memAddress = shmat(shmid, requestedAddress, PG_SHMAT_FLAGS); if (memAddress == (void *) -1) - elog(FATAL, "shmat(id=%d, addr=%p, flags=0x%x) failed: %m", - shmid, requestedAddress, PG_SHMAT_FLAGS); + ereport(FATAL, + (errmsg("shmat(id=%d, addr=%p, flags=0x%x) failed: %m", + shmid, requestedAddress, PG_SHMAT_FLAGS))); /* Register on-exit routine to detach new segment before deleting */ on_shmem_exit(IpcMemoryDetach, PointerGetDatum(memAddress)); @@ -280,7 +282,8 @@ IpcMemoryDetach(int status, Datum shmaddr) { /* Detach System V shared memory block. */ if (shmdt(DatumGetPointer(shmaddr)) < 0) - elog(LOG, "shmdt(%p) failed: %m", DatumGetPointer(shmaddr)); + ereport(LOG, + (errmsg("shmdt(%p) failed: %m", DatumGetPointer(shmaddr)))); } /****************************************************************************/ @@ -291,8 +294,9 @@ static void IpcMemoryDelete(int status, Datum shmId) { if (shmctl(DatumGetInt32(shmId), IPC_RMID, NULL) < 0) - elog(LOG, "shmctl(%d, %d, 0) failed: %m", - DatumGetInt32(shmId), IPC_RMID); + ereport(LOG, + (errmsg("shmctl(%d, %d, 0) failed: %m", + DatumGetInt32(shmId), IPC_RMID))); } /* @@ -314,7 +318,8 @@ PGSharedMemoryIsInUse(unsigned long id1, unsigned long id2) state = PGSharedMemoryAttach((IpcMemoryId) id2, NULL, &memAddress); if (memAddress && shmdt(memAddress) < 0) - elog(LOG, "shmdt(%p) failed: %m", memAddress); + ereport(LOG, + (errmsg("shmdt(%p) failed: %m", memAddress))); switch (state) { case SHMSTATE_ENOENT: @@ -629,8 +634,9 @@ AnonymousShmemDetach(int status, Datum arg) if (AnonymousShmem != NULL) { if (munmap(AnonymousShmem, AnonymousShmemSize) < 0) - elog(LOG, "munmap(%p, %zu) failed: %m", - AnonymousShmem, AnonymousShmemSize); + ereport(LOG, + (errmsg("munmap(%p, %zu) failed: %m", + AnonymousShmem, AnonymousShmemSize))); AnonymousShmem = NULL; } } @@ -747,10 +753,10 @@ PGSharedMemoryCreate(Size size, * InternalIpcMemoryCreate(). Moments earlier, we would have * seen SHMSTATE_FOREIGN. Try that same ID again. */ - elog(LOG, - "shared memory block (key %lu, ID %lu) deleted during startup", - (unsigned long) NextShmemSegID, - (unsigned long) shmid); + ereport(LOG, + (errmsg("shared memory block (key %lu, ID %lu) deleted during startup", + (unsigned long) NextShmemSegID, + (unsigned long) shmid))); break; case SHMSTATE_FOREIGN: NextShmemSegID++; @@ -775,7 +781,8 @@ PGSharedMemoryCreate(Size size, } if (oldhdr && shmdt(oldhdr) < 0) - elog(LOG, "shmdt(%p) failed: %m", oldhdr); + ereport(LOG, + (errmsg("shmdt(%p) failed: %m", oldhdr))); } /* Initialize new segment. */ @@ -849,11 +856,13 @@ PGSharedMemoryReAttach(void) else state = PGSharedMemoryAttach(shmid, UsedShmemSegAddr, &hdr); if (state != SHMSTATE_ATTACHED) - elog(FATAL, "could not reattach to shared memory (key=%d, addr=%p): %m", - (int) UsedShmemSegID, UsedShmemSegAddr); + ereport(FATAL, + (errmsg("could not reattach to shared memory (key=%d, addr=%p): %m", + (int) UsedShmemSegID, UsedShmemSegAddr))); if (hdr != origUsedShmemSegAddr) - elog(FATAL, "reattaching to shared memory returned unexpected address (got %p, expected %p)", - hdr, origUsedShmemSegAddr); + ereport(FATAL, + (errmsg("reattaching to shared memory returned unexpected address (got %p, expected %p)", + hdr, origUsedShmemSegAddr))); dsm_set_control_handle(hdr->dsm_control); UsedShmemSegAddr = hdr; /* probably redundant */ @@ -916,15 +925,17 @@ PGSharedMemoryDetach(void) && shmdt(NULL) < 0 #endif ) - elog(LOG, "shmdt(%p) failed: %m", UsedShmemSegAddr); + ereport(LOG, + (errmsg("shmdt(%p) failed: %m", UsedShmemSegAddr))); UsedShmemSegAddr = NULL; } if (AnonymousShmem != NULL) { if (munmap(AnonymousShmem, AnonymousShmemSize) < 0) - elog(LOG, "munmap(%p, %zu) failed: %m", - AnonymousShmem, AnonymousShmemSize); + ereport(LOG, + (errmsg("munmap(%p, %zu) failed: %m", + AnonymousShmem, AnonymousShmemSize))); AnonymousShmem = NULL; } } diff --git a/src/backend/port/win32_shmem.c b/src/backend/port/win32_shmem.c index 30b07303ff..3924c2250d 100644 --- a/src/backend/port/win32_shmem.c +++ b/src/backend/port/win32_shmem.c @@ -69,18 +69,21 @@ GetSharedMemName(void) bufsize = GetFullPathName(DataDir, 0, NULL, NULL); if (bufsize == 0) - elog(FATAL, "could not get size for full pathname of datadir %s: error code %lu", - DataDir, GetLastError()); + ereport(FATAL, + (errmsg("could not get size for full path name of data directory \"%s\": error code %lu", + DataDir, GetLastError()))); retptr = malloc(bufsize + 18); /* 18 for Global\PostgreSQL: */ if (retptr == NULL) - elog(FATAL, "could not allocate memory for shared memory name"); + ereport(FATAL, + (errmsg("could not allocate memory for shared memory name"))); strcpy(retptr, "Global\\PostgreSQL:"); r = GetFullPathName(DataDir, bufsize, retptr + 18, NULL); if (r == 0 || r > bufsize) - elog(FATAL, "could not generate full pathname for datadir %s: error code %lu", - DataDir, GetLastError()); + ereport(FATAL, + (errmsg("could not generate full path name for data directory \"%s\": error code %lu", + DataDir, GetLastError()))); /* * XXX: Intentionally overwriting the Global\ part here. This was not the @@ -343,7 +346,8 @@ PGSharedMemoryCreate(Size size, * care. */ if (!CloseHandle(hmap)) - elog(LOG, "could not close handle to shared memory: error code %lu", GetLastError()); + ereport(LOG, + (errmsg("could not close handle to shared memory: error code %lu", GetLastError()))); /* @@ -414,18 +418,22 @@ PGSharedMemoryReAttach(void) elog(FATAL, "failed to release reserved memory region (addr=%p): error code %lu", ShmemProtectiveRegion, GetLastError()); if (VirtualFree(UsedShmemSegAddr, 0, MEM_RELEASE) == 0) - elog(FATAL, "failed to release reserved memory region (addr=%p): error code %lu", - UsedShmemSegAddr, GetLastError()); + ereport(FATAL, + (errmsg("could not release reserved memory region (addr=%p): error code %lu", + UsedShmemSegAddr, GetLastError()))); hdr = (PGShmemHeader *) MapViewOfFileEx(UsedShmemSegID, FILE_MAP_READ | FILE_MAP_WRITE, 0, 0, 0, UsedShmemSegAddr); if (!hdr) - elog(FATAL, "could not reattach to shared memory (key=%p, addr=%p): error code %lu", - UsedShmemSegID, UsedShmemSegAddr, GetLastError()); + ereport(FATAL, + (errmsg("could not reattach to shared memory (key=%p, addr=%p): error code %lu", + UsedShmemSegID, UsedShmemSegAddr, GetLastError()))); if (hdr != origUsedShmemSegAddr) - elog(FATAL, "reattaching to shared memory returned unexpected address (got %p, expected %p)", - hdr, origUsedShmemSegAddr); + ereport(FATAL, + (errmsg("reattaching to shared memory returned unexpected address (got %p, expected %p)", + hdr, origUsedShmemSegAddr))); if (hdr->magic != PGShmemMagic) - elog(FATAL, "reattaching to shared memory returned non-PostgreSQL memory"); + ereport(FATAL, + (errmsg("reattaching to shared memory returned non-PostgreSQL memory"))); dsm_set_control_handle(hdr->dsm_control); UsedShmemSegAddr = hdr; /* probably redundant */ @@ -488,8 +496,9 @@ PGSharedMemoryDetach(void) if (ShmemProtectiveRegion != NULL) { if (VirtualFree(ShmemProtectiveRegion, 0, MEM_RELEASE) == 0) - elog(LOG, "failed to release reserved memory region (addr=%p): error code %lu", - ShmemProtectiveRegion, GetLastError()); + ereport(LOG, + (errmsg("could not release reserved memory region (addr=%p): error code %lu", + ShmemProtectiveRegion, GetLastError()))); ShmemProtectiveRegion = NULL; } @@ -498,8 +507,9 @@ PGSharedMemoryDetach(void) if (UsedShmemSegAddr != NULL) { if (!UnmapViewOfFile(UsedShmemSegAddr)) - elog(LOG, "could not unmap view of shared memory: error code %lu", - GetLastError()); + ereport(LOG, + (errmsg("could not unmap view of shared memory: error code %lu", + GetLastError()))); UsedShmemSegAddr = NULL; } @@ -508,8 +518,9 @@ PGSharedMemoryDetach(void) if (UsedShmemSegID != INVALID_HANDLE_VALUE) { if (!CloseHandle(UsedShmemSegID)) - elog(LOG, "could not close handle to shared memory: error code %lu", - GetLastError()); + ereport(LOG, + (errmsg("could not close handle to shared memory: error code %lu", + GetLastError()))); UsedShmemSegID = INVALID_HANDLE_VALUE; } @@ -544,7 +555,7 @@ pgwin32_SharedMemoryDelete(int status, Datum shmId) * be given different address ranges that don't conflict. * * NOTE! This function executes in the postmaster, and should for this - * reason not use elog(FATAL) since that would take down the postmaster. + * reason not use ereport(FATAL) since that would take down the postmaster. */ int pgwin32_ReserveSharedMemoryRegion(HANDLE hChild) @@ -562,8 +573,9 @@ pgwin32_ReserveSharedMemoryRegion(HANDLE hChild) if (address == NULL) { /* Don't use FATAL since we're running in the postmaster */ - elog(LOG, "could not reserve shared memory region (addr=%p) for child %p: error code %lu", - ShmemProtectiveRegion, hChild, GetLastError()); + ereport(LOG, + (errmsg("could not reserve shared memory region (addr=%p) for child %p: error code %lu", + ShmemProtectiveRegion, hChild, GetLastError()))); return false; } if (address != ShmemProtectiveRegion) @@ -574,8 +586,9 @@ pgwin32_ReserveSharedMemoryRegion(HANDLE hChild) * * Don't use FATAL since we're running in the postmaster. */ - elog(LOG, "reserved shared memory region got incorrect address %p, expected %p", - address, ShmemProtectiveRegion); + ereport(LOG, + (errmsg("reserved shared memory region got incorrect address %p, expected %p", + address, ShmemProtectiveRegion))); return false; } @@ -584,14 +597,16 @@ pgwin32_ReserveSharedMemoryRegion(HANDLE hChild) MEM_RESERVE, PAGE_READWRITE); if (address == NULL) { - elog(LOG, "could not reserve shared memory region (addr=%p) for child %p: error code %lu", - UsedShmemSegAddr, hChild, GetLastError()); + ereport(LOG, + (errmsg("could not reserve shared memory region (addr=%p) for child %p: error code %lu", + UsedShmemSegAddr, hChild, GetLastError()))); return false; } if (address != UsedShmemSegAddr) { - elog(LOG, "reserved shared memory region got incorrect address %p, expected %p", - address, UsedShmemSegAddr); + ereport(LOG, + (errmsg("reserved shared memory region got incorrect address %p, expected %p", + address, UsedShmemSegAddr))); return false; } diff --git a/src/backend/postmaster/bgworker.c b/src/backend/postmaster/bgworker.c index 5a9a0e3435..7ef6259eb5 100644 --- a/src/backend/postmaster/bgworker.c +++ b/src/backend/postmaster/bgworker.c @@ -250,10 +250,10 @@ BackgroundWorkerStateChange(void) */ if (max_worker_processes != BackgroundWorkerData->total_slots) { - elog(LOG, - "inconsistent background worker state (max_worker_processes=%d, total_slots=%d", - max_worker_processes, - BackgroundWorkerData->total_slots); + ereport(LOG, + (errmsg("inconsistent background worker state (max_worker_processes=%d, total_slots=%d)", + max_worker_processes, + BackgroundWorkerData->total_slots))); return; } diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c index 9bad14981b..048c6d6830 100644 --- a/src/backend/postmaster/pgstat.c +++ b/src/backend/postmaster/pgstat.c @@ -636,7 +636,8 @@ pgstat_init(void) if (getsockopt(pgStatSock, SOL_SOCKET, SO_RCVBUF, (char *) &old_rcvbuf, &rcvbufsize) < 0) { - elog(LOG, "getsockopt(SO_RCVBUF) failed: %m"); + ereport(LOG, + (errmsg("getsockopt(%s) failed: %m", "SO_RCVBUF"))); /* if we can't get existing size, always try to set it */ old_rcvbuf = 0; } @@ -646,7 +647,8 @@ pgstat_init(void) { if (setsockopt(pgStatSock, SOL_SOCKET, SO_RCVBUF, (char *) &new_rcvbuf, sizeof(new_rcvbuf)) < 0) - elog(LOG, "setsockopt(SO_RCVBUF) failed: %m"); + ereport(LOG, + (errmsg("setsockopt(%s) failed: %m", "SO_RCVBUF"))); } } @@ -5264,7 +5266,8 @@ get_dbstat_filename(bool permanent, bool tempname, Oid databaseid, databaseid, tempname ? "tmp" : "stat"); if (printed >= len) - elog(ERROR, "overlength pgstat path"); + ereport(ERROR, + (errmsg("pgstat path too long"))); } /* ---------- @@ -6108,8 +6111,9 @@ backend_read_statsfile(void) /* Copy because timestamptz_to_str returns a static buffer */ filetime = pstrdup(timestamptz_to_str(file_ts)); mytime = pstrdup(timestamptz_to_str(cur_ts)); - elog(LOG, "stats collector's time %s is later than backend local time %s", - filetime, mytime); + ereport(LOG, + (errmsg("statistics collector's time %s is later than backend local time %s", + filetime, mytime))); pfree(filetime); pfree(mytime); } @@ -6251,9 +6255,9 @@ pgstat_recv_inquiry(PgStat_MsgInquiry *msg, int len) /* Copy because timestamptz_to_str returns a static buffer */ writetime = pstrdup(timestamptz_to_str(dbentry->stats_timestamp)); mytime = pstrdup(timestamptz_to_str(cur_ts)); - elog(LOG, - "stats_timestamp %s is later than collector's time %s for database %u", - writetime, mytime, dbentry->databaseid); + ereport(LOG, + (errmsg("stats_timestamp %s is later than collector's time %s for database %u", + writetime, mytime, dbentry->databaseid))); pfree(writetime); pfree(mytime); } diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index b7799ed1d2..5d09822c81 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -1207,8 +1207,9 @@ PostmasterMain(int argc, char *argv[]) NULL, NULL); if (err != kDNSServiceErr_NoError) - elog(LOG, "DNSServiceRegister() failed: error code %ld", - (long) err); + ereport(LOG, + (errmsg("DNSServiceRegister() failed: error code %ld", + (long) err))); /* * We don't bother to read the mDNS daemon's reply, and we expect that @@ -1466,7 +1467,8 @@ getInstallationPaths(const char *argv0) /* Locate the postgres executable itself */ if (find_my_exec(argv0, my_exec_path) < 0) - elog(FATAL, "%s: could not locate my own executable path", argv0); + ereport(FATAL, + (errmsg("%s: could not locate my own executable path", argv0))); #ifdef EXEC_BACKEND /* Locate executable backend before we change working directory */ @@ -4674,16 +4676,18 @@ internal_forkexec(int argc, char *argv[], Port *port) NULL); if (paramHandle == INVALID_HANDLE_VALUE) { - elog(LOG, "could not create backend parameter file mapping: error code %lu", - GetLastError()); + ereport(LOG, + (errmsg("could not create backend parameter file mapping: error code %lu", + GetLastError()))); return -1; } param = MapViewOfFile(paramHandle, FILE_MAP_WRITE, 0, 0, sizeof(BackendParameters)); if (!param) { - elog(LOG, "could not map backend parameter memory: error code %lu", - GetLastError()); + ereport(LOG, + (errmsg("could not map backend parameter memory: error code %lu", + GetLastError()))); CloseHandle(paramHandle); return -1; } @@ -4708,7 +4712,8 @@ internal_forkexec(int argc, char *argv[], Port *port) } if (cmdLine[sizeof(cmdLine) - 2] != '\0') { - elog(LOG, "subprocess command line too long"); + ereport(LOG, + (errmsg("subprocess command line too long"))); UnmapViewOfFile(param); CloseHandle(paramHandle); return -1; @@ -4725,8 +4730,9 @@ internal_forkexec(int argc, char *argv[], Port *port) if (!CreateProcess(NULL, cmdLine, NULL, NULL, TRUE, CREATE_SUSPENDED, NULL, NULL, &si, &pi)) { - elog(LOG, "CreateProcess call failed: %m (error code %lu)", - GetLastError()); + ereport(LOG, + (errmsg("CreateProcess() call failed: %m (error code %lu)", + GetLastError()))); UnmapViewOfFile(param); CloseHandle(paramHandle); return -1; @@ -4751,11 +4757,13 @@ internal_forkexec(int argc, char *argv[], Port *port) /* Drop the parameter shared memory that is now inherited to the backend */ if (!UnmapViewOfFile(param)) - elog(LOG, "could not unmap view of backend parameter file: error code %lu", - GetLastError()); + ereport(LOG, + (errmsg("could not unmap view of backend parameter file: error code %lu", + GetLastError()))); if (!CloseHandle(paramHandle)) - elog(LOG, "could not close handle to backend parameter file: error code %lu", - GetLastError()); + ereport(LOG, + (errmsg("could not close handle to backend parameter file: error code %lu", + GetLastError()))); /* * Reserve the memory region used by our main shared memory segment before @@ -5639,7 +5647,9 @@ CreateOptsFile(int argc, char *argv[], char *fullprogname) if ((fp = fopen(OPTS_FILE, "w")) == NULL) { - elog(LOG, "could not create file \"%s\": %m", OPTS_FILE); + ereport(LOG, + (errcode_for_file_access(), + errmsg("could not create file \"%s\": %m", OPTS_FILE))); return false; } @@ -5650,7 +5660,9 @@ CreateOptsFile(int argc, char *argv[], char *fullprogname) if (fclose(fp)) { - elog(LOG, "could not write file \"%s\": %m", OPTS_FILE); + ereport(LOG, + (errcode_for_file_access(), + errmsg("could not write file \"%s\": %m", OPTS_FILE))); return false; } diff --git a/src/backend/replication/logical/origin.c b/src/backend/replication/logical/origin.c index 1b220315df..15ab8e7204 100644 --- a/src/backend/replication/logical/origin.c +++ b/src/backend/replication/logical/origin.c @@ -769,10 +769,11 @@ StartupReplicationOrigin(void) replication_states[last_state].remote_lsn = disk_state.remote_lsn; last_state++; - elog(LOG, "recovered replication state of node %u to %X/%X", - disk_state.roident, - (uint32) (disk_state.remote_lsn >> 32), - (uint32) disk_state.remote_lsn); + ereport(LOG, + (errmsg("recovered replication state of node %u to %X/%X", + disk_state.roident, + (uint32) (disk_state.remote_lsn >> 32), + (uint32) disk_state.remote_lsn))); } /* now check checksum */ diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c index 88004c6fae..c24c0ff69f 100644 --- a/src/backend/storage/file/fd.c +++ b/src/backend/storage/file/fd.c @@ -1914,7 +1914,8 @@ FileClose(File file) /* in any case do the unlink */ if (unlink(vfdP->fileName)) - elog(LOG, "could not unlink file \"%s\": %m", vfdP->fileName); + ereport(LOG, + (errmsg("could not unlink file \"%s\": %m", vfdP->fileName))); /* and last report the stat results */ if (stat_errno == 0) @@ -1922,7 +1923,8 @@ FileClose(File file) else { errno = stat_errno; - elog(LOG, "could not stat file \"%s\": %m", vfdP->fileName); + ereport(LOG, + (errmsg("could not stat file \"%s\": %m", vfdP->fileName))); } } diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 02d2d267b5..635d91d50a 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -11533,7 +11533,7 @@ assign_tcp_keepalives_idle(int newval, void *extra) * once we set it we might fail to unset it. So there seems little point * in fully implementing the check-then-assign GUC API for these * variables. Instead we just do the assignment on demand. pqcomm.c - * reports any problems via elog(LOG). + * reports any problems via ereport(LOG). * * This approach means that the GUC value might have little to do with the * actual kernel value, so we use a show_hook that retrieves the kernel -- 2.29.2