Sample Header Ad - 728x90

Environment variables in Postgres C extension

2 votes
1 answer
520 views
I cannot get environment variable in my PostgreSQL C extension code. For example, this function always returns 111: #include "postgres.h" #include "fmgr.h" #include PG_MODULE_MAGIC; PG_FUNCTION_INFO_V1(myinc); Datum myinc(PG_FUNCTION_ARGS) { int32 arg = PG_GETARG_INT32(0); char* envar = getenv("MYINC"); if (envar) { PG_RETURN_INT32(arg + atoi(envar)); } else { PG_RETURN_INT32(111); } } While this C program works as expected, it prints whatever MYINC is: #include #include int main() { printf("MYINC: %s", getenv("MYINC")); return 0; }
Asked by Nikola (35 rep)
Jan 18, 2022, 03:01 PM
Last activity: Jan 18, 2022, 03:05 PM