I ran into a crash that was caused by the .so files used by postgres being overwritten ( see http://www.postgresql.org/message-id/CAAcYxUeduPhKXbDQ6ZTOhKGE+1A3cMrTQujSExC-tv4ac4ksUw@xxxxxxxxxxxxxx ), so that made me wonder what the rules are for updating .so files. I read through the documentation on C functions ( http://www.postgresql.org/docs/8.4/static/xfunc-c.html ) but didn't come to any firm answers.
Here's our current procedure:
1) Build new .so filesHere's our current procedure:
2) Put new .so files in "version directory" (for example /path/to/funcs/1.23.1/ where old version was /path/to/funcs/1.23.0/)
3) Run "ALTER DATABASE <db_name> SET dynamic_library_path TO '/path/to/funcs/1.23.1:$libdir';"
Is
that an ok operation to perform on a live database? Will existing
connections handle that without issues? (I'm ok if they still keep using
the old .so files until the connection is closed and re-opened)Thanks,
Dave