Обсуждение: pgsql-server/ ontrib/tablefunc/README.tablefun ...
pgsql-server/ ontrib/tablefunc/README.tablefun ...
От
momjian@postgresql.org (Bruce Momjian - CVS)
Дата:
CVSROOT: /cvsroot Module name: pgsql-server Changes by: momjian@postgresql.org 02/08/14 22:51:28 Modified files: contrib/tablefunc: README.tablefunc tablefunc-test.sql tablefunc.c tablefunc.h tablefunc.sql.in src/backend/utils/misc: guc.c src/bin/initdb : initdb.sh src/include/catalog: pg_proc.h src/include/utils: builtins.h src/test/regress/expected: rules.out Log message: 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