• B
    As discussed on several occasions previously, the new anonymous · 45e25445
    Bruce Momjian 提交于
    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
    45e25445
initdb.sh 35.9 KB