I'm trying to learn how to write custom extensions to postgres so wrote a basic C function to see how it works. However, I keep getting the following error "Missing magic block" when I try to add the function to the database. According to the documentation in the manual, all I need to do is add the following: #include "server/fmgr.h" #ifdef PG_MODULE_MAGIC PG_MODULE_MAGIC; #endif To my C file and it will work. However, I guess it is not working? Below is the source code: #include "server/postgres.h" #include <string.h> #include "server/fmgr.h" #ifdef PG_MODULE_MAGIC PG_MODULE_MAGIC; #endif int add_one(int arg) { return arg + 1; } And the sql statement I am using is: CREATE FUNCTION add_one(IN int) RETURNS int AS 'add_one' LANGUAGE C; Any feedback as to how to correct it is appreciated! Thanks, Brad