Current File : //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/postgresql.cpython-312.pyc
�

-�_gu��|�ddlZddlmZmZmZmZmZddlmZGd�de�Z	Gd�de	e�Z
Gd�d	e	ee�Zy)
�N)�Plugin�UbuntuPlugin�DebianPlugin�RedHatPlugin�	PluginOpt)�findc��eZdZdZdZdZdZdZeddd�	�ed
de	d�
�edde	dez�
�edde	d�
�edde	d�
�edde
d�
�gZdd�Zd�Z
y)�
PostgreSQLzPostgreSQL RDBMS�
postgresql)�services)rzpostgresql-commonz' (password visible in process listings)�pghomez/var/lib/pgsqlzpsql server home directory)�default�desc�username�postgreszusername for pg_dump)r�val_typer�password�zpassword for pg_dump�dbnamez"database name to dump with pg_dump�dbhostz.database hostname/IP address (no unix sockets)�dbporti8zdatabase server listening portc
�^�|jd��r|jd�sdtjvr�|jd�r"|jd�tjd<|jd�rKd|jd��d|jd��d|jd	��d
|jd���}n&d|jd��d
|jd���}|j||dd
��y|jjd�|j
d�yy)z- Extract PostgreSQL database into a tar file rr�
PGPASSWORDrzpg_dump -U rz -h z -p rz	 -w -F t zpg_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_dumpzPostgreSQL.do_pg_dump0s"���?�?�8�$����z�*�l�b�j�j�.H��?�?�:�.�/3���z�/J�B�J�J�|�,��?�?�8�,�(�����)D�(E�F!�!%����!:� ;�<!�!%����!:� ;�9�"�o�o�h�7�8�:�C�
,�D�O�O�J�,G�+H�I#�#'�?�?�8�#<�"=�?�C��#�#�C�(�+/�1�$�>����#�#�C�����I��1%�c�j�|j�|jd|jd����y)Nzdu -sh r
)r(r r)r$s r'�setupzPostgreSQL.setupNs+���������g�d�o�o�h�&?�%@�A�Br)N)z
pgdump.tar)�__name__�
__module__�__qualname__�
short_desc�plugin_name�profiles�packages�password_warn_textr�str�int�option_listr(r+�r)r'r
r
s���#�J��K��H�2�H�B��	�(�$4�3�	5��*�j�3�-�	/��*�b�3�-�0B�B�	D��(�B��;�	=��(�B��G�	I��(�D�3�7�	9�
�K��<Cr)r
c���eZdZ�fd�Z�xZS)�RedHatPostgreSQLc	�2��t�|��|jd�}|g}|D]o}td|�D]}|j	|��td|�D]}|j	|��dD]$}|j	|j|d|���&�qy)Nr
z*.logz*.conf)�
PG_VERSIONzpostmaster.opts�data)�superr+rr�
add_copy_spec�	path_join)r$r
�dirs�_dirr%�file�	__class__s      �r'r+zRedHatPostgreSQL.setupUs����
��
������*���x���	G�D� ��$�/�
-���"�"�8�,�
-�!��4�0�
-���"�"�8�,�
-�:�
G���"�"�4�>�>�$���#E�F�
G�	Gr)�r,r-r.r+�
__classcell__�rCs@r'r9r9Ss���G�Gr)r9c���eZdZ�fd�Z�xZS)�DebianPostgreSQLc�H��t�|��|jgd��y)N)z/var/log/postgresql/*.logz/etc/postgresql/*/main/*.confz%/var/lib/postgresql/*/main/PG_VERSIONz*/var/lib/postgresql/*/main/postmaster.opts)r=r+r>)r$rCs �r'r+zDebianPostgreSQL.setupks���
��
�����
�	r)rDrFs@r'rHrHis
����r)rH)r�sos.report.pluginsrrrrr�
sos.utilitiesrr
r9rHr7r)r'�<module>rLsF��
�9�9��:C��:C�zG�z�<�G�,
�z�<��
r)