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
configfileis
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 <myon@debian.org>
Debian 2019-07-15
PG_CONFTOOL(1)