+
    Û1j7  ã                   óþ   € ^ RI t ^ RIt^ RIHtHt RtRtR]R,           R]R,           R	]R
,           R]R,           R]R,           R]R,           R]R,           R]R,           /t]R	,           R2tRt	Rt
Rt ! R R]]4      tR# )é    N)ÚPluginÚUbuntuPluginz#/var/snap/charmed-postgresql/commonz$/var/snap/charmed-postgresql/currentÚPOSTGRESQL_CONFz/var/lib/postgresqlÚPOSTGRESQL_LOGSz/var/log/postgresqlÚPATRONI_CONFz/etc/patroniÚPATRONI_LOGSz/var/log/patroniÚPGBACKREST_CONFz/etc/pgbackrestÚPGBACKREST_LOGSz/var/log/pgbackrestÚPGBOUNCER_CONFz/etc/pgbouncerÚPGBOUNCER_LOGSz/var/log/pgbouncerz/patroni.yamlÚsnap_daemonzcharmed-postgresql.psqlzcharmed-postgresql.patronictlc                   óp   a € ] tR t^#t o RtRtRt]V 3R lR l4       t]V 3R lR l4       t	R t
R tR	tV tR
# )ÚCharmedPostgreSQLzCharmed PostgreSQLÚcharmed_postgresqlc                ó    <€ V ^8„  d   QhRS[ /# ©é   Úreturn©Ústr)ÚformatÚ__classdict__s   "€ÚG/usr/lib/python3/dist-packages/sos/report/plugins/charmed_postgresql.pyÚ__annotate__ÚCharmedPostgreSQL.__annotate__*   s   ø€ ÷ 6ñ 6¡ñ 6ó    c                ó   € R \          2# )z--config-file )ÚPATRONI_CONFIG_FILE©Úselfs   &r   Úpatronictl_argsÚ!CharmedPostgreSQL.patronictl_args)   s   € àÔ 3Ð4Ð5Ð5r   c                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   r   .   s   ø€ ÷ -ñ -™3ñ -r   c                óV   € R V P                    RV P                   RV P                   R2# )z-U z -h z -p z -d postgres -P pager=off)Úpostgresql_usernameÚpostgresql_hostÚpostgresql_portr   s   &r   Ú	psql_argsÚCharmedPostgreSQL.psql_args-   sA   € à�d×.Ñ.Ð/ð 0Ø×*Ñ*Ð+ð ,Ø×*Ñ*Ð+ð ,,ð,ð 	-r   c                óZ  € V P                  \        R ,           R2\        R,           R2.4       V P                  \        R,           R2\        R,           \        R ,           R2\        R,           \        R,           \        R	,           \        R,           \        R
,           .4       V P                  R4       V P	                  RRR7        \        \        RR7      ;_uu_ 4       p\        P                  ! V4      pRRR4       XR,          V n	        VR,          pVR,          P                  R4      pVw  V n        V n        VR,          pVR,          pVR,          V n        VR,          V n        T P	                  \,         RT P.                   RT P                   2R\0        R7       T P	                  \,         RT P.                   R T P                   2R!\0        R7       T P	                  \,         RT P.                   R"T P                   2R#\0        R7       T P                  \2        P4                  R$&   T P	                  \6         RT P8                   R%2R&\0        R7       T P	                  \6         RT P8                   R'2R(\0        R7       T P	                  \6         RT P8                   R)2R*\0        R7       R#   + '       g   i     ELÈ; i  \        \        P                   \"        \$        \&        \(        3 d'   pT P+                  R\         RT 24        Rp?R# Rp?ii ; i)+r   z/*.pemr   r   z/*.conf*r   z/*.y*mlr   r	   r
   r   zsnap.charmed-postgresql.*zsnap info charmed-postgresqlz	snap-info)Úsuggest_filenamezutf-8)ÚencodingNÚscopeÚ
postgresqlÚconnect_addressÚ:ÚauthenticationÚ	superuserÚusernameÚpasswordzVCan not run additional commands due to an error on opening or parsing the config file z: Ú z
 topology zpatroni-topology)r+   Úrunasz	 history zpatroni-historyz show-config zpatroni-dcs-configÚ
PGPASSWORDz	 -c '\l+'zpostgresql-databasesz -c '\duS+'zpostgresql-usersz -c '\dtS+'zpostgresql-tables)Úadd_forbidden_pathÚPATHSÚadd_copy_specÚadd_journalÚadd_cmd_outputÚopenr   ÚyamlÚ	safe_loadÚpatroni_cluster_nameÚsplitr&   r'   r%   Úpostgresql_passwordÚOSErrorÚ	YAMLErrorÚ	TypeErrorÚ
ValueErrorÚKeyErrorÚAttributeErrorÚ	_log_warnÚ
PATRONICTLr!   ÚRUNASÚosÚenvironÚPSQLr(   )r    ÚfÚpatroni_configr.   Ú	host_portr1   r2   Úerrors   &       r   ÚsetupÚCharmedPostgreSQL.setup4   sN  € ð 	×ÑÜ�^Õ$Ð% VÐ,ÜÐ%Õ&Ð' vÐ.ð!
ô 	ð 	×ÑÜÐ&Õ'Ð(¨Ð1ÜÐ&Õ'Ð(Ü�^Õ$Ð% WÐ-Ü�^Õ$Ð%ÜÐ&Õ'Ð(ÜÐ&Õ'Ð(ÜÐ%Õ&Ð'ÜÐ%Õ&Ð'ð	
ô 		ð 	×ÑÐ4Ô5ð 	×ÑØ*Ø(ð 	ô 	
ð	ÜÔ)°G×<Õ<ÀÜ!%§¢°Ó!2�÷ =à(6°wÕ(?ˆDÔ%Ø'¨Õ5ˆJØ"Ð#4Õ5×;Ñ;¸CÓ@ˆIØ9BÑ6ˆDÔ  $Ô"6Ø'Ð(8Õ9ˆNØ& {Õ3ˆIØ'0°Õ'<ˆDÔ$Ø'0°Õ'<ˆDÔ$ð 	×ÑÜˆ|˜1˜T×1Ñ1Ð2ð 3Ø×2Ñ2Ð3ð5à/Üð	 	ô 	
ð 	×ÑÜˆ|˜1˜T×1Ñ1Ð2ð 3Ø×1Ñ1Ð2ð4à.Üð	 	ô 	
ð 	×ÑÜˆ|˜1˜T×1Ñ1Ð2ð 3Ø ×5Ñ5Ð6ð8à1Üð	 	ô 	
ð $(×#;Ñ#;Œ�
‰
�<Ñ ð 	×ÑÜˆv�Q�t—~‘~Ð&ð 'ð à3Üð	 	ô 	
ð 	×ÑÜˆv�Q�t—~‘~Ð&ð 'ð à/Üð	 	ô 	
ð 	×ÑÜˆv�Q�t—~‘~Ð&ð 'ð à0Üð	 	ö 	
÷I =×<Ð<ûô œŸ™¬ÜœH¤nð6ô 	à�N‰Nð Mä1Ð2°"Ø#˜Wð&ô 'õ ûð	ús1   ÃK Ã+KÄA4K ËK	Ë	K Ë/L*ÌL%Ì%L*c                ó  € R \         P                  9   d   \         P                  R  V P                  \        R,           R2RR4       V P                  \        R,           R2RR4       V P                  \        R	,           R
2RR4       R# )r7   r   z/*z(password: )"?.*"?z\1"*********"r	   z/pgbackrest.confz(.*s3-key.*=).*z\1*********r   z/pgbouncer/userlist.txtz(".*" )".*"N)rL   rM   Údo_path_regex_subr9   r   s   &r   ÚpostprocÚCharmedPostgreSQL.postproc¢   s’   € ð œ2Ÿ:™:Ô%Ü—
‘
˜<Ð(ð 	×ÑÜ�^Õ$Ð% RÐ(Ø!Øô	
ð 	×ÑÜÐ&Õ'Ð(Ð(8Ð9ØØô	
ð 	×ÑÜÐ%Õ&Ð'Ð'>Ð?ØØö	
r   )r@   r&   rB   r'   r%   N)zcharmed-postgresql)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
short_descÚplugin_nameÚpackagesÚpropertyr!   r(   rS   rW   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r   #   sK   ø‡ € à%€JØ&€KØ&€Hà÷6ó ð6ð ÷-ó ð-òl
÷\
ð 
r   r   )rL   r>   Úsos.report.pluginsr   r   ÚSNAP_COMMON_PATHÚSNAP_CURRENT_PATHr9   r   rK   rN   rJ   r   © r   r   Ú<module>rg      s¸   ðó 
Û ç 3à8Ð Ø:Ð ð Ð'Ð*?Õ?ØÐ'Ð*?Õ?ØÐ%¨Õ6ØÐ$Ð'9Õ9ØÐ(Ð+<Õ<ØÐ'Ð*?Õ?ØÐ'Ð*:Õ:ØÐ&Ð)=Õ=ð		€ð ˜~Õ.Ð/¨}Ð=Ð à€Ø €Ø,€
ô\
˜ ö \
r   