Thread: BUG #13800: There is no UNLOAD command
The following bug has been logged on the website: Bug reference: 13800 Logged by: Daniel Migowski Email address: dmigowski@ikoffice.de PostgreSQL version: 9.1.19 Operating system: Windows Description: Hello, from the documentation i read that LOAD loads a shared library. While creating extensions in C it is very cumbersome to disconnect, restart, connect everytime I recompile my C stuff. A reload option wouldn't help also because on Windows I cannot overwrite the DLL while it is opened in Postgres, so I need an UNLOAD command.
dmigowski@ikoffice.de writes: > While creating extensions in C it is very cumbersome to disconnect, restart, > connect everytime I recompile my C stuff. Why would you need to restart? Just starting a fresh connection ought to be enough. There's pretty much no chance UNLOAD will ever happen, so don't hold your breath waiting. We lack any defined method, for example, for extensions to disconnect from function hooks once they've inserted something in them. (Reversing what was done at LOAD time wouldn't work, since it'd break any subsequent attachments to the same hook.) Custom GUCs would be another big problem to reverse out, and if I'd consumed any caffeine yet today I could probably name several other trouble spots. It's not insoluble, perhaps, but the amount of work required seems far out of proportion to the benefits. regards, tom lane
Thanks for that explanation.=20 I need to restart the server because on Windows I can't overwrite the DLL w= hile it is loaded. So I have to restart the server every time. And because = of my paying customers I have to do coding on Windows.=20 Regards, Daniel Migowski=20 -----Urspr=FCngliche Nachricht----- Von: Tom Lane [mailto:tgl@sss.pgh.pa.us]=20 Gesendet: Sonntag, 6. Dezember 2015 16:58 An: Daniel Migowski <dmigowski@ikoffice.de> Cc: pgsql-bugs@postgresql.org Betreff: Re: [BUGS] BUG #13800: There is no UNLOAD command dmigowski@ikoffice.de writes: > While creating extensions in C it is very cumbersome to disconnect,=20 > restart, connect everytime I recompile my C stuff. Why would you need to restart? Just starting a fresh connection ought to b= e enough. There's pretty much no chance UNLOAD will ever happen, so don't hold your b= reath waiting. We lack any defined method, for example, for extensions to = disconnect from function hooks once they've inserted something in them. (Reversing what was done at LOAD time wouldn't work, since it'd break any s= ubsequent attachments to the same hook.) Custom GUCs would be another big = problem to reverse out, and if I'd consumed any caffeine yet today I could = probably name several other trouble spots. It's not insoluble, perhaps, bu= t the amount of work required seems far out of proportion to the benefits. regards, tom lane
On 12/6/2015 9:42 PM, Daniel Migowski wrote: > Thanks for that explanation. > > I need to restart the server because on Windows I can't overwrite the DLL while it is loaded. So I have to restart theserver every time. And because of my paying customers I have to do coding on Windows. when you close a connection, the postgres process servicing that connection closes, this should close any DLL's it has open. naturally, you'd need to close ALL the connections to the database that has the dll loaded ... -- john r pierce, recycling bits in santa cruz