�
u��ec@s�ddlZddlmZmZmZmZddlmZdefd��YZdeefd��YZ deeefd ��YZ
dS(
i����N(tPlugintUbuntuPlugintDebianPlugint SCLPlugin(tfindt
PostgreSQLc BsfeZdZdZdZdZdZdddd
eddfdddgZddd�Z d�Z
RS( sPostgreSQL RDBMSt
postgresqltservicesspostgresql-commons' (password visible in process listings)tpghomes!PostgreSQL server home directory.ts/var/lib/pgsqltusernamesusername for pg_dumptpostgrestpasswordspassword for pg_dumptdbnames!database name to dump for pg_dumptdbhosts-database hostname/IP (do not use unix socket)tdbportsdatabase server port numbert5432s
pgdump.tarc Cs*|jd�r&|jd�s-dtjkr|jd�rU|jd�tjd<n|jd�r�d|jd�|jd�|jd�|jd�f}n"d|jd�|jd�f}|dk r�|j||�}n|j|d |d
tdd�q&|jjd
�|j d�ndS(NR
Rt
PGPASSWORDRs$pg_dump -U %s -h %s -p %s -w -F t %sR
Rspg_dump -C -U %s -w -F t %s tsuggest_filenametbinaryt sizelimitis-password must be supplied to dump a database.s3WARN: password must be supplied to dump a database.(
t
get_optiontostenvirontNonetconvert_cmd_scltadd_cmd_outputtTruetsoslogtwarningt add_alert(tselftscltfilenametcmd((s:/usr/lib/python2.7/site-packages/sos/plugins/postgresql.pyt
do_pg_dump(s* cCs(|j�|jd|jd��dS(Ns du -sh %sR(R#RR(R((s:/usr/lib/python2.7/site-packages/sos/plugins/postgresql.pytsetupKs
(R(Rspostgresql-common(spghomes!PostgreSQL server home directory.R s/var/lib/pgsql(susernamesusername for pg_dumpR R(sdbnames!database name to dump for pg_dumpR R (sdbhosts-database hostname/IP (do not use unix socket)R R (sdbportsdatabase server port numberR RN(t__name__t
__module__t__doc__tplugin_nametprofilestpackagestpassword_warn_texttoption_listRR#R$(((s:/usr/lib/python2.7/site-packages/sos/plugins/postgresql.pyRs #tRedHatPostgreSQLcBseZdZd�ZRS(Rs!rh-postgresql95-postgresql-servers!rh-postgresql10-postgresql-servers!rh-postgresql12-postgresql-servercCs{tt|�j�|jd�}|g}x�|jdD]�}|jd�d}|j||�}|j|�tj j
|�r�|jd|�n|j|j
dd��r9||jkr9|jd|d d
|�q9q9Wx�|D]�}x$td|�D]}|j|�q�Wx$td|�D]}|j|�q&Wx3d
dgD]%}|jtj j|d|��qJWq�WdS(NRis-postgresql-is du -sh %ss-serverR R R!spgdump-scl-%s.tars*.logs*.conft
PG_VERSIONspostmaster.optstdata(tsuperR-R$RR*tsplittconvert_copyspec_scltappendRtpathtisdirRtis_service_runningtreplacetscls_matchedR#Rt
add_copy_spectjoin(RRtdirstpkgR t_dirR!tf((s:/usr/lib/python2.7/site-packages/sos/plugins/postgresql.pyR$Ys&
!
(s
postgresqls!rh-postgresql95-postgresql-servers!rh-postgresql10-postgresql-servers!rh-postgresql12-postgresql-server(R%R&R*R$(((s:/usr/lib/python2.7/site-packages/sos/plugins/postgresql.pyR-Ps
tDebianPostgreSQLcBseZd�ZRS(cCs0tt|�j�|jddddg�dS(Ns/var/log/postgresql/*.logs/etc/postgresql/*/main/*.confs%/var/lib/postgresql/*/main/PG_VERSIONs*/var/lib/postgresql/*/main/postmaster.opts(R0R?R$R9(R((s:/usr/lib/python2.7/site-packages/sos/plugins/postgresql.pyR$|s(R%R&R$(((s:/usr/lib/python2.7/site-packages/sos/plugins/postgresql.pyR?zs(Rtsos.pluginsRRRRt
sos.utilitiesRRR-R?(((s:/usr/lib/python2.7/site-packages/sos/plugins/postgresql.pyt<module>s
";* |