
    ~ gu                     |    S SK r S SKJrJrJrJrJr  S SKJr   " S S\5      r	 " S S\	\5      r
 " S S	\	\\5      rg)
    N)PluginUbuntuPluginDebianPluginRedHatPlugin	PluginOpt)findc                       \ rS rSrSrSrSrSrSr\	" SSS	S
9\	" SS\
SS9\	" SS\
S\-   S9\	" SS\
SS9\	" SS\
SS9\	" SS\SS9/rSS jrS rSrg)
PostgreSQL   zPostgreSQL RDBMS
postgresql)services)r   zpostgresql-commonz' (password visible in process listings)pghomez/var/lib/pgsqlzpsql server home directory)defaultdescusernamepostgreszusername for pg_dump)r   val_typer   password zpassword for pg_dumpdbnamez"database name to dump with pg_dumpdbhostz.database hostname/IP address (no unix sockets)dbporti8  zdatabase server listening portc           
         U R                  S5      (       Ga(  U R                  S5      (       d  S[        R                  ;   a  U R                  S5      (       a"  U R                  S5      [        R                  S'   U R                  S5      (       aK  SU R                  S5       SU R                  S5       SU R                  S	5       S
U R                  S5       3nO&SU R                  S5       S
U R                  S5       3nU R                  X!SSS9  gU R                  R                  S5        U R                  S5        gg)z,Extract PostgreSQL database into a tar file r   r   
PGPASSWORDr   zpg_dump -U r   z -h z -p r   z	 -w -F t zpg_dump -C -U Tr   )suggest_filenamebinary	sizelimitz-password must be supplied to dump a database.z3WARN: password must be supplied to dump a database.N)
get_optionosenvironadd_cmd_outputsoslogwarning	add_alert)selffilenamecmds      ?/usr/lib/python3/dist-packages/sos/report/plugins/postgresql.py
do_pg_dumpPostgreSQL.do_pg_dump0   s,   ??8$$z**lbjj.H ??:../3z/JBJJ|,??8,,()D(E F!!%!: ; <!!%!: ;9"ooh78:C
 ,DOOJ,G+H I##'??8#<"=?C ##C+/1 $ > ##C I1 %    c                 j    U R                  5         U R                  SU R                  S5       35        g )Nzdu -sh r   )r)   r!   r   )r%   s    r(   setupPostgreSQL.setupN   s+    gdooh&?%@ABr+    N)z
pgdump.tar)__name__
__module____qualname____firstlineno__
short_descplugin_nameprofilespackagespassword_warn_textr   strintoption_listr)   r-   __static_attributes__r/   r+   r(   r
   r
      s    #JKH2HB 	($43	5*j3-	/*b3-0BB	D(B;	=(BG	I(D37	9K<Cr+   r
   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )RedHatPostgreSQLS   c           	      B  > [         TU ]  5         U R                  S5      nU/nU Hv  n[        SU5       H  nU R	                  U5        M     [        SU5       H  nU R	                  U5        M     S H%  nU R	                  U R                  USU5      5        M'     Mx     g )Nr   z*.logz*.conf)
PG_VERSIONzpostmaster.optsdata)superr-   r   r   add_copy_spec	path_join)r%   r   dirs_dirr&   file	__class__s         r(   r-   RedHatPostgreSQL.setupU   s    *xD $/""8, 0 !40""8, 1 :""4>>$#EF : r+   r/   r0   r1   r2   r3   r-   r<   __classcell__rI   s   @r(   r>   r>   S   s    G Gr+   r>   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )DebianPostgreSQLi   c                 H   > [         TU ]  5         U R                  / SQ5        g )N)z/var/log/postgresql/*.logz/etc/postgresql/*/main/*.confz%/var/lib/postgresql/*/main/PG_VERSIONz*/var/lib/postgresql/*/main/postmaster.opts)rC   r-   rD   )r%   rI   s    r(   r-   DebianPostgreSQL.setupk   s     
 	r+   r/   rK   rM   s   @r(   rO   rO   i   s     r+   rO   )r   sos.report.pluginsr   r   r   r   r   sos.utilitiesr   r
   r>   rO   r/   r+   r(   <module>rU      sF    
9 9 :C :CzGz< G,
z< 
r+   