HEX
Server: Apache
System: Linux vpshost0650.publiccloud.com.br 4.4.79-grsec-1.lc.x86_64 #1 SMP Wed Aug 2 14:18:21 -03 2017 x86_64
User: bandeirantesbomb3 (10068)
PHP: 8.0.7
Disabled: apache_child_terminate,dl,escapeshellarg,escapeshellcmd,exec,link,mail,openlog,passthru,pcntl_alarm,pcntl_exec,pcntl_fork,pcntl_get_last_error,pcntl_getpriority,pcntl_setpriority,pcntl_signal,pcntl_signal_dispatch,pcntl_sigprocmask,pcntl_sigtimedwait,pcntl_sigwaitinfo,pcntl_strerror,pcntl_wait,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,php_check_syntax,php_strip_whitespace,popen,proc_close,proc_open,shell_exec,symlink,system
Upload Files
File: //proc/self/root/proc/thread-self/root/usr/share/augeas/lenses/dist/postgresql.aug
(*
Module: Postgresql
  Parses postgresql.conf

Author: Raphael Pinson <raphink@gmail.com>

About: Reference
  http://www.postgresql.org/docs/current/static/config-setting.html

About: License
   This file is licenced under the LGPL v2+, like the rest of Augeas.

About: Lens Usage
   To be documented

About: Configuration files
   This lens applies to postgresql.conf. See <filter>.

About: Examples
   The <Test_Postgresql> file contains various examples and tests.
*)


module Postgresql =
  autoload xfm

(* View: sep
     Key and values are separated
     by either spaces or an equal sign *)
let sep = del /([ \t]+)|([ \t]*=[ \t]*)/ " = "

(* Variable: word_opt_quot_re
     Strings that don't require quotes *)
let word_opt_quot_re = /[A-Za-z][A-Za-z0-9_]*/

(* View: word_opt_quot
     Storing a <word_opt_quot_re>, with or without quotes *)
let word_opt_quot = Quote.do_squote_opt (store word_opt_quot_re)

(* Variable: number_re
     A relative decimal number, optionally with unit *)
let number_re = Rx.reldecimal . /[kMG]?B|[m]?s|min|h|d/?

(* View: number
     Storing <number_re>, with or without quotes *)
let number = Quote.do_squote_opt (store number_re)

(* View: word_quot
     Anything other than <word_opt_quot> or <number>
     Quotes are mandatory *)
let word_quot =
     let esc_squot = /\\\\'/
  in let no_quot = /[^#'\n]/
  in let forbidden = word_opt_quot_re | number_re
  in let value = (no_quot|esc_squot)* - forbidden
  in Quote.do_squote (store value)

(* View: entry_gen
     Builder to construct entries *)
let entry_gen (lns:lens) =
  Util.indent . Build.key_value_line_comment Rx.word sep lns Util.comment_eol

(* View: entry *)
let entry = entry_gen number
          | entry_gen word_opt_quot
          | entry_gen word_quot    (* anything else *)

(* View: lns *)
let lns = (Util.empty | Util.comment | entry)*

(* Variable: filter *)
let filter = (incl "/var/lib/pgsql/data/postgresql.conf" .
              incl "/var/lib/pgsql/*/data/postgresql.conf" .
              incl "/etc/postgresql/*/*/postgresql.conf" )

let xfm = transform lns filter