/*-------------------------------------------------------------------------
*
* pg_config . c
* Expose same output as pg_config except as an SRF
*
* Portions Copyright ( c ) 1996 - 2025 , PostgreSQL Global Development Group
* Portions Copyright ( c ) 1994 , Regents of the University of California
*
* IDENTIFICATION
* src / backend / utils / misc / pg_config . c
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
#include "postgres.h"
#include "common/config_info.h"
#include "funcapi.h"
#include "miscadmin.h"
#include "utils/builtins.h"
Datum
pg_config(PG_FUNCTION_ARGS)
{
ReturnSetInfo *rsinfo = (ReturnSetInfo *) fcinfo->resultinfo;
ConfigData *configdata;
size_t configdata_len;
int i = 0 ;
/* initialize our tuplestore */
InitMaterializedSRF(fcinfo, 0 );
configdata = get_configdata(my_exec_path, &configdata_len);
for (i = 0 ; i < configdata_len; i++)
{
Datum values[2 ];
bool nulls[2 ];
memset(values, 0 , sizeof (values));
memset(nulls, 0 , sizeof (nulls));
values[0 ] = CStringGetTextDatum(configdata[i].name);
values[1 ] = CStringGetTextDatum(configdata[i].setting);
tuplestore_putvalues(rsinfo->setResult, rsinfo->setDesc, values, nulls);
}
return (Datum) 0 ;
}
Messung V0.5 in Prozent C=96 H=94 G=94
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-08-08)
¤
*© Formatika GbR, Deutschland