[PATCH] pg_ctl should not truncate command lines at 1024 characters

Phil Krylov <phil@krylov.eu>

From: Phil Krylov <phil@krylov.eu>
To: pgsql-hackers@postgresql.org
Date: 2021-09-02T21:36:13Z
Lists: pgsql-hackers

Attachments

Hello,

Lacking a tool to edit postgresql.conf programmatically, people resort 
to passing cluster options on the command line. While passing all 
non-default options in this way may sound like an abuse of the feature, 
IMHO pg_ctl should not blindly truncate generated command lines at 
MAXPGPATH (1024 characters) and then run that, resulting in:

/bin/sh: Syntax error: end of file unexpected (expecting word)
pg_ctl: could not start server
Examine the log output.

The attached patch tries to fix it in the least intrusive way.

While we're at it, is it supposed that pg_ctl is a very short-lived 
process and is therefore allowed to leak memory? I've noticed some 
places where I would like to add a free() call.

-- Ph.

Commits

  1. Remove arbitrary MAXPGPATH limit on command lengths in pg_ctl.