Re: [PATCH] pg_ctl should not truncate command lines at 1024 characters
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Phil Krylov <phil@krylov.eu>
Cc: pgsql-hackers@postgresql.org
Date: 2021-09-03T00:09:16Z
Lists: pgsql-hackers
Phil Krylov <phil@krylov.eu> writes: > IMHO pg_ctl should not blindly truncate generated command lines at > MAXPGPATH (1024 characters) and then run that, resulting in: Fair enough. > The attached patch tries to fix it in the least intrusive way. Seems reasonable. We didn't have psprintf when this code was written, but now that we do, it's hardly any more complicated to do it without the length restriction. > 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. I think that these free() calls you propose to add are a complete waste of code space. Certainly a free() right before an exit() call is that; if anything, it's *delaying* recycling the memory space for some useful purpose. But no part of pg_ctl runs long enough for it to be worth worrying about small leaks. I do not find your proposed test case to be a useful expenditure of test cycles, either. If it ever fails, we'd learn nothing, except that that particular platform has a surprisingly small command line length limit. regards, tom lane
Commits
-
Remove arbitrary MAXPGPATH limit on command lengths in pg_ctl.
- 9a070c658906 9.6.24 landed
- 6e2f4581781b 10.19 landed
- beb404d3b165 11.14 landed
- 87ad491472d6 15.0 landed
- 742b30caee65 13.5 landed
- 69d670e68ec9 14.0 landed
- 3b302eb1ea2e 12.9 landed