diff -ur postgresql-9.5.3-orig/src/port/path.c postgresql-9.5.3/src/port/path.c --- postgresql-9.5.3-orig/src/port/path.c 2016-05-09 22:50:23.000000000 +0200 +++ postgresql-9.5.3/src/port/path.c 2016-08-29 22:44:10.507377613 +0200 @@ -714,7 +714,11 @@ void get_lib_path(const char *my_exec_path, char *ret_path) { - make_relative_path(ret_path, LIBDIR, PGBINDIR, my_exec_path); + char const * const nix_pglibdir = getenv("NIX_PGLIBDIR"); + if(nix_pglibdir == NULL) + make_relative_path(ret_path, LIBDIR, PGBINDIR, my_exec_path); + else + make_relative_path(ret_path, nix_pglibdir, PGBINDIR, my_exec_path); } /* @@ -723,7 +727,11 @@ void get_pkglib_path(const char *my_exec_path, char *ret_path) { - make_relative_path(ret_path, PKGLIBDIR, PGBINDIR, my_exec_path); + char const * const nix_pglibdir = getenv("NIX_PGLIBDIR"); + if(nix_pglibdir == NULL) + make_relative_path(ret_path, PKGLIBDIR, PGBINDIR, my_exec_path); + else + make_relative_path(ret_path, nix_pglibdir, PGBINDIR, my_exec_path); } /*