Re: Tomas Vondra 2019-08-03 <20190803124111.2aaddumd7url5wmq@development> > If we really want to give external tools a sensible (and optional) API > to access the file, a simple command-line tool seems much better. Say we > have something like > > pg_config_file -f PATH --set KEY VALUE > pg_config_file -f PATH --get KEY
Fwiw, Debian has pg_conftool (based on the perl lib around PgCommon.pm): NAME pg_conftool - read and edit PostgreSQL cluster configuration files SYNOPSIS pg_conftool [options] [version cluster] [configfile] command DESCRIPTION pg_conftool allows to show and set parameters in PostgreSQL configuration files. If version cluster is omitted, it defaults to the default cluster (see user_clusters(5) and postgresqlrc(5)). If configfile is omitted, it defaults to postgresql.conf. configfile can also be a path, in which case version cluster is ignored. OPTIONS -b, --boolean Format boolean value as on or off (not for "show all"). -s, --short Show only the value (instead of key = value pair). -v, --verbose Verbose output. --help Print help. COMMANDS show parameter|all Show a parameter, or all present in this config file. set parameter value Set or update a parameter. remove parameter Remove (comment out) a parameter from a config file. edit Open the config file in an editor. Unless $EDITOR is set, vi is used. SEE ALSO user_clusters(5), postgresqlrc(5) AUTHOR Christoph Berg <m...@debian.org> Debian 2019-07-15 PG_CONFTOOL(1)