diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index 25500d4c9b0f7b92ec29475045648d1e7640b792..65278b510dddbbad9201264cb446bcd14ca1257f 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -3755,7 +3755,11 @@ internal_forkexec(int argc, char *argv[], Port *port) } /* Insert temp file name after --fork argument */ +#ifdef _WIN64 + sprintf(paramHandleStr, "%llu", (LONG_PTR) paramHandle); +#else sprintf(paramHandleStr, "%lu", (DWORD) paramHandle); +#endif argv[2] = paramHandleStr; /* Format the cmd line */ @@ -4825,7 +4829,11 @@ read_backend_variables(char *id, Port *port) HANDLE paramHandle; BackendParameters *paramp; +#ifdef _WIN64 + paramHandle = (HANDLE) _atoi64(id); +#else paramHandle = (HANDLE) atol(id); +#endif paramp = MapViewOfFile(paramHandle, FILE_MAP_READ, 0, 0, 0); if (!paramp) {