Обсуждение: Frontends including fd.h

Поиск
Список
Период
Сортировка

Frontends including fd.h

От
Michael Paquier
Дата:
Hi all,

We have a couple of frontend binaries (pg_rewind, and now
pg_verify_checksums) including directly fd.h to get the definitions of
PG_TEMP_FILES_DIR and PG_TEMP_FILE_PREFIX.  This is a poor choice I
think, because fd.h is aimed at being used by the backend, and there
are some routines declared there which could conflict with their
frontend equivalents, like the various wrappers for fsync.

I have suggested a couple of months ago to have a specific header for
path-related variables, which I called src/include/pg_paths.h, but not
many people liked that.  Perhaps it would be time to bite the bullet, I
think that we are on a path where problems are going to show up for
frontends.  At least PG_TEMP_FILES_DIR and PG_TEMP_FILE_PREFIX could be
moved to it to remove all the existing problems.

Thoughts or opinions?
--
Michael

Вложения

Re: Frontends including fd.h

От
Sergei Kornilov
Дата:
Hello

I am +1 to have separate header with path names.

Another examples are:
- pg_ctl with many hardcoded files such as "promote" (PROMOTE_SIGNAL_FILE), "logrotate" (LOGROTATE_SIGNAL_FILE),
postgresql.conf,PG_VERSION, backup_label, postmaster.pid
 
- pg_basebackup with currently hardcoded "standby.signal" (STANDBY_SIGNAL_FILE) and "postgresql.auto.conf"

regards, Sergei