On 3/30/21 6:22 PM, Alvaro Herrera wrote: > On 2021-Mar-30, Mark Dilger wrote: > >> Once you have a node running, you can query the version using >> safe_psql, but that clearly doesn't work soon enough, since we need >> the information prior to running initdb. > I was thinking something like examining some file in the install dir -- > say, include/server/pg_config.h, but that seems messier than just > running pg_config. > >> One of the things I noticed while playing with this new toy (thanks, >> Andrew!)
(I'm really happy someone is playing with it so soon.) >> is that if you pass a completely insane install_path, you >> don't get any errors. In fact, you get executables and libraries from >> whatever PATH="/no/such/postgres:$PATH" gets you, probably the >> executables and libraries of your latest development branch. By >> forcing get_new_node to call the pg_config of the path you pass in, >> you'd fix that problem. I didn't do that, mind you, but you could. I >> just executed pg_config, which means you'll still get the wrong >> version owing to the PATH confusion. > Hmm, I think it should complain if you give it a path that doesn't > actually contain a valid installation. > Yeah, it should be validated. All things considered I think just calling 'pg_config --version' is probably the simplest validation, and likely to be sufficient. I'll try to come up with something tomorrow. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com