423 bool boot_postgis_enable_outdb_rasters =
false;
424 MemoryContext old_context;
430 old_context = MemoryContextSwitchTo(TopMemoryContext);
450 "boot_postgis_gdal_enabled_drivers = %s",
464 elog(ERROR,
"_PG_init: Cannot process environmental variable: POSTGIS_ENABLE_OUTDB_RASTERS");
468 if (strcmp(env,
"1") == 0)
469 boot_postgis_enable_outdb_rasters =
true;
476 "boot_postgis_enable_outdb_rasters = %s",
477 boot_postgis_enable_outdb_rasters ?
"TRUE" :
"FALSE" 481 pg_install_lwgeom_handlers();
487 if ( postgis_guc_find_option(
"postgis.gdal_datapath") )
492 elog(WARNING,
"'%s' is already set and cannot be changed until you reconnect",
"postgis.gdal_datapath");
496 DefineCustomStringVariable(
497 "postgis.gdal_datapath",
498 "Path to GDAL data files.",
499 "Physical path to directory containing GDAL data files (sets the GDAL_DATA config option).",
510 if ( postgis_guc_find_option(
"postgis.gdal_enabled_drivers") )
515 elog(WARNING,
"'%s' is already set and cannot be changed until you reconnect",
"postgis.gdal_enabled_drivers");
519 DefineCustomStringVariable(
520 "postgis.gdal_enabled_drivers",
521 "Enabled GDAL drivers.",
522 "List of enabled GDAL drivers by short name. To enable/disable all drivers, use 'ENABLE_ALL' or 'DISABLE_ALL' (sets the GDAL_SKIP config option).",
533 if ( postgis_guc_find_option(
"postgis.enable_outdb_rasters") )
538 elog(WARNING,
"'%s' is already set and cannot be changed until you reconnect",
"postgis.enable_outdb_rasters");
542 DefineCustomBoolVariable(
543 "postgis.enable_outdb_rasters",
544 "Enable Out-DB raster bands",
545 "If true, rasters can access data located outside the database",
547 boot_postgis_enable_outdb_rasters,
557 MemoryContextSwitchTo(old_context);
static void rtpg_assignHookGDALEnabledDrivers(const char *enabled_drivers, void *extra)
void rt_set_handlers(rt_allocator allocator, rt_reallocator reallocator, rt_deallocator deallocator, rt_message_handler error_handler, rt_message_handler info_handler, rt_message_handler warning_handler)
This function is called when the PostgreSQL backend is taking care of the memory and we want to use p...
static void rt_pg_notice(const char *fmt, va_list ap) __attribute__((format(printf
static char * env_postgis_gdal_enabled_drivers
static char * env_postgis_enable_outdb_rasters
#define POSTGIS_RT_DEBUGF(level, msg,...)
static void rtpg_assignHookEnableOutDBRasters(bool enable, void *extra)
char * gdal_enabled_drivers
static char * boot_postgis_gdal_enabled_drivers
bool enable_outdb_rasters
static char * gdal_datapath
char * rtpg_trim(const char *input)
static void rt_pg_error(const char *fmt, va_list ap) __attribute__((format(printf
static void rt_pg_free(void *ptr)
static void rt_pg_debug(const char *fmt, va_list ap) __attribute__((format(printf
static void * rt_pg_alloc(size_t size)
static void rtpg_assignHookGDALDataPath(const char *newpath, void *extra)
static void * rt_pg_realloc(void *mem, size_t size)