Re: Operation log for major operations

From: Dmitry Koval <d(dot)koval(at)postgrespro(dot)ru>
To: Ted Yu <yuzhihong(at)gmail(dot)com>
Cc: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Operation log for major operations
Date: 2023-01-20 09:19:23
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Thanks, Ted Yu!

> Please update year for the license in pg_controllog.c

License updated for files pg_controllog.c, controllog_utils.c,
pg_controllog.h, controllog_utils.h.

> +check_file_exists(const char *datadir, const char *path)
> There is existing helper function such as:
> src/backend/utils/fmgr/dfmgr.c:static bool file_exists(const char *name);
> Is it possible to reuse that code ?

There are a lot of functions that check the file existence:

1) src/backend/utils/fmgr/dfmgr.c:static bool file_exists(const char *name);
2) src/backend/jit/jit.c:static bool file_exists(const char *name);
3) src/test/regress/pg_regress.c:bool file_exists(const char *file);
4) src/bin/pg_upgrade/exec.c:bool pid_lock_file_exists(const char *datadir);
5) src/backend/commands/extension.c:bool extension_file_exists(const
char *extensionName);

But there is no unified function: different components use their own
function with their own specific.
Probably we can not reuse code of dfmgr.c:file_exists() because this
function skip "errno == EACCES" (this error is critical for us).
I copied for src/bin/pg_rewind/file_ops.c:check_file_exists() code of
function jit.c:file_exists() (with adaptation for the utility).

With best regards,
Dmitry Koval

Postgres Professional:

Attachment Content-Type Size
v5-0001-Operation-log.patch text/plain 47.8 KB

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Maxim Orlov 2023-01-20 09:19:37 Re: Add SHELL_EXIT_CODE to psql
Previous Message shveta malik 2023-01-20 09:13:08 Re: Time delayed LR (WAS Re: logical replication restrictions)