mirror of
https://github.com/postgres/postgres.git
synced 2025-06-30 21:42:05 +03:00
As discussed on several occasions previously, the new anonymous
composite type capability makes it possible to create a system view based on a table function in a way that is hopefully palatable to everyone. The attached patch takes advantage of this, moving show_all_settings() from contrib/tablefunc into the backend (renamed all_settings(). It is defined as a builtin returning type RECORD. During initdb a system view is created to expose the same information presently available through SHOW ALL. For example: test=# select * from pg_settings where name like '%debug%'; name | setting -----------------------+--------- debug_assertions | on debug_pretty_print | off debug_print_parse | off debug_print_plan | off debug_print_query | off debug_print_rewritten | off wal_debug | 0 (7 rows) Additionally during initdb two rules are created which make it possible to change settings by updating the system view -- a "virtual table" as Tom put it. Here's an example: Joe Conway
This commit is contained in:
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: builtins.h,v 1.190 2002/08/09 16:45:16 tgl Exp $
|
||||
* $Id: builtins.h,v 1.191 2002/08/15 02:51:27 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -662,6 +662,7 @@ extern Datum quote_literal(PG_FUNCTION_ARGS);
|
||||
/* guc.c */
|
||||
extern Datum show_config_by_name(PG_FUNCTION_ARGS);
|
||||
extern Datum set_config_by_name(PG_FUNCTION_ARGS);
|
||||
extern Datum show_all_settings(PG_FUNCTION_ARGS);
|
||||
|
||||
/* catalog/pg_conversion.c */
|
||||
extern Datum pg_convert3(PG_FUNCTION_ARGS);
|
||||
|
Reference in New Issue
Block a user