Re: initdb fails to initialize data directory
Heikki Linnakangas <hlinnaka@iki.fi>
From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>,
Nikhil Sontakke <nikhils@2ndquadrant.com>
Cc: PostgreSQL mailing lists <pgsql-hackers@postgresql.org>
Date: 2018-04-19T19:15:30Z
Lists: pgsql-hackers
On 19/04/18 09:38, Alvaro Herrera wrote: > Nikhil Sontakke wrote: > >> Intrigued, on digging down further, this is happening because we are >> not using a long enough buffer to accept the output of "postgres -V" >> in the find_other_exec() function. In our case, we had used >> --with-extra-version option with configure which caused the output of >> "postgres -V" to go a little beyond the current "line" variable size. >> This caused the strcmp to fail leading to initdb refusing to >> initialize any data directories at all. > > Wow, that seems pretty silly nowadays. Agreed. Nitpick: using MAXPGPATH seems for the buffer size seems to wrong to me. We're not storing a path here. MAXPGPATH is 1024 by default, which seems fine, but I would've spelled it out directly as "line[1000]". - Heikki
Commits
-
Enlarge find_other_exec's meager fgets buffer
- e668507d36f8 9.4.18 landed
- e2f3b6560383 10.4 landed
- e160fa005e80 9.5.13 landed
- cea5f9aa1244 11.0 landed
- b3f4742aab82 9.6.9 landed
- 070179a4a2f8 9.3.23 landed