2 -- Glyn Astill 08/02/2014
3 -- Pl/perlU function/view to show settings from pg_controldata
5 -- For an extension in written in C by Joe Conway see:
6 -- https://github.com/jconway/pg_controldata
9 SET search_path = public;
13 DROP FUNCTION IF EXISTS pg_controldata();
14 CREATE OR REPLACE FUNCTION pg_controldata()
15 RETURNS TABLE (name text, setting text) AS
19 my $pg_controldata_bin = 'pg_controldata';
22 $rv = spi_exec_query('SHOW data_directory', 1);
23 $data_dir = $rv->{rows}[0]->{data_directory};
25 open(FD,"$pg_controldata_bin $data_dir | ");
28 @fields = split(':', $_, 2);
29 $fields[0] =~ s/^\s+|\s+$//g;
30 $fields[1] =~ s/^\s+|\s+$//g;
31 return_next { name => $fields[0], setting => $fields[1]};
41 CREATE VIEW pg_controldata AS
42 SELECT * FROM pg_controldata();
44 GRANT SELECT ON pg_controldata TO PUBLIC;