This is a discussion on MAGIC_MODULE and libc within the Pgsql General forums, part of the PostgreSQL category; --> I just upgraded to v8.2 and have an issue with one of my stored proc/functions that worked under 8.1: ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| I just upgraded to v8.2 and have an issue with one of my stored proc/functions that worked under 8.1: CREATE OR REPLACE FUNCTION getpid() RETURNS integer AS '/lib/libc.so.6', 'getpid' LANGUAGE 'c' VOLATILE; ERROR: incompatible library "/lib/libc.so.6": missing magic block SQL state: XX000 Hint: Extension libraries are required to use the PG_MODULE_MAGIC macro. I've added the appropriate macro to all my actual C code...but in this case surely I am not expected to recompile libc...am I? Is there an easier way to get the pid of the current process? ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@postgresql.org so that your message can get through to the mailing list cleanly |
| |||
| Jeff Amiel wrote: > I just upgraded to v8.2 and have an issue with one of my stored > proc/functions that worked under 8.1: > > CREATE OR REPLACE FUNCTION getpid() > RETURNS integer AS > '/lib/libc.so.6', 'getpid' > LANGUAGE 'c' VOLATILE; > > ERROR: incompatible library "/lib/libc.so.6": missing magic block > SQL state: XX000 > Hint: Extension libraries are required to use the PG_MODULE_MAGIC macro. > > I've added the appropriate macro to all my actual C code...but in this > case surely I am not expected to recompile libc...am I? Is there an > easier way to get the pid of the current process? I'd use MyProcPid from #include "miscadmin.h" -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc. ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match |
| |||
| On Tue, Dec 19, 2006 at 08:20:23AM -0600, Jeff Amiel wrote: > ERROR: incompatible library "/lib/libc.so.6": missing magic block > SQL state: XX000 > Hint: Extension libraries are required to use the PG_MODULE_MAGIC macro. > > I've added the appropriate macro to all my actual C code...but in this > case surely I am not expected to recompile libc...am I? Is there an > easier way to get the pid of the current process? In general you should use a wrapper library, but in your case pg_backend_pid() will do it. Have a nice day, -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > From each according to his ability. To each according to his ability to litigate. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFFh/bFIB7bNG8LQkwRAv/YAJ9GCIC7MN5v20Y4E8oqSR80u3N5cwCeL5Vw KGA0DJkBY48KE1MGZlU/oXg= =O3Z9 -----END PGP SIGNATURE----- |
| ||||
| yup... I did this CREATE OR REPLACE FUNCTION getpid() RETURNS integer AS $BODY$ DECLARE thepid integer; BEGIN select into thepid pg_backend_pid from pg_backend_pid(); return thepid; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE; thanks!!! Martijn van Oosterhout wrote: > On Tue, Dec 19, 2006 at 08:20:23AM -0600, Jeff Amiel wrote: > >> ERROR: incompatible library "/lib/libc.so.6": missing magic block >> SQL state: XX000 >> Hint: Extension libraries are required to use the PG_MODULE_MAGIC macro. >> >> I've added the appropriate macro to all my actual C code...but in this >> case surely I am not expected to recompile libc...am I? Is there an >> easier way to get the pid of the current process? >> > > In general you should use a wrapper library, but in your case > pg_backend_pid() will do it. > > Have a nice day, > |
| Thread Tools | |
| Display Modes | |
|
|