+
    €¯“i7  c                   sþ   € ^ 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# )i    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.yamlZsnap_daemonzcharmed-postgresql.psqlzcharmed-postgresql.patronictlc                   sp   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 PostgreSQLZcharmed_postgresqlc                ó    <€ V ^8„  d   QhRS[ /# ©i   Zreturn©Zstr©ZformatÚ__classdict__ó   "€ÚJ/usr/lib/python3.14/site-packages/sos/report/plugins/charmed_postgresql.pyÚ__annotate__ÚCharmedPostgreSQL.__annotate__*   s   ø€ ÷ 6ñ 6¡ñ 6ó    c                s   € R \          2# )z--config-file )ÚPATRONI_CONFIG_FILE©Úselfó   &r   Úpatronictl_argsZ!CharmedPostgreSQL.patronictl_args)   s   € àÔ 3Ð4Ð5Ð5r   c                r   r   r   r   r   r   r   r   .   s   ø€ ÷ -ñ -™3ñ -r   c                sV   € 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   r   r   Ú	psql_argsZCharmedPostgreSQL.psql_args-   sA   € àd×.Ñ.Ð/ð 0Ø×*Ñ*Ð+ð ,Ø×*Ñ*Ð+ð ,,ð,ð 	-r   c                sZ  € 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)ZencodingNZscopeÚ
postgresqlZconnect_addressZ:ÚauthenticationÚ	superuserZusernameZpasswordzVCan not run additional commands due to an error on opening or parsing the config file z: Z z
 topology zpatroni-topology)r   Z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)Zadd_forbidden_pathÚPATHSZadd_copy_specZadd_journalZadd_cmd_outputZopenr   ÚyamlZ	safe_loadÚpatroni_cluster_nameZsplitr   r   r   Úpostgresql_passwordZOSErrorZ	YAMLErrorZ	TypeErrorZ
ValueErrorZKeyErrorZAttributeErrorZ	_log_warnÚ
PATRONICTLr   ÚRUNASÚosÚenvironÚPSQLr   )r   ZfZpatroni_configr   Z	host_portr    r!   Zerrors   &       r   ÚsetupZ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Üð	 	ô 	
ð $(×#;Ñ#;Œ
‰
<Ñ ð 	×ÑÜˆvQt—~‘~Ð&ð 'ð à3Üð	 	ô 	
ð 	×ÑÜˆvQt—~‘~Ð&ð 'ð à/Üð	 	ô 	
ð 	×ÑÜˆvQt—~‘~Ð&ð 'ð à0Üð	 	ö 	
÷I =×<Ð<ûô œŸ™¬ÜœH¤nð6ô 	àN‰Nð Mä1Ð2°"Ø#˜Wð&ô 'õ ûð	ús1   ÃK Ã+KÄA4K ËK	Ë	K Ë/L*ÌL%Ì%L*c                s  € 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# )r"   r   z/*z(password: )"?.*"?z\1"*********"r   z/pgbackrest.confz(.*s3-key.*=).*z\1*********r   z/pgbouncer/userlist.txtz(".*" )".*"N)r)   r*   Zdo_path_regex_subr#   r   r   r   ÚpostprocZCharmedPostgreSQL.postproc¢   s’   € ð œ2Ÿ:™:Ô%Ü—
‘
˜<Ð(ð 	×ÑÜ^Õ$Ð% RÐ(Ø!Øô	
ð 	×ÑÜÐ&Õ'Ð(Ð(8Ð9ØØô	
ð 	×ÑÜÐ%Õ&Ð'Ð'>Ð?ØØö	
r   )r%   r   r&   r   r   N)zcharmed-postgresql)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z
short_descZplugin_nameZpackagesZpropertyr   r   r,   r-   Z__static_attributes__Z__classdictcell__)r   s   @r   r
   r
   #   sK   ø‡ € à%€JØ&€KØ&€Hà÷6ó ð6ð ÷-ó ð-òl
÷\
ð 
r   r
   )r)   r$   Zsos.report.pluginsr    r   ZSNAP_COMMON_PATHZSNAP_CURRENT_PATHr#   r   r(   r+   r'   r
   ) r   r   Ú<module>r.      s¸   ðó 
Û ç 3à8Ð Ø:Ð ð Ð'Ð*?Õ?ØÐ'Ð*?Õ?ØÐ%¨Õ6ØÐ$Ð'9Õ9ØÐ(Ð+<Õ<ØÐ'Ð*?Õ?ØÐ'Ð*:Õ:ØÐ&Ð)=Õ=ð		€ð ˜~Õ.Ð/¨}Ð=Ð à€Ø €Ø,€
ô\
˜ ö \
r   