85 lines
No EOL
2.4 KiB
YAML
85 lines
No EOL
2.4 KiB
YAML
---
|
|
- name: Pre-upgrade checks for PostgreSQL
|
|
hosts: postgresql
|
|
become: yes
|
|
gather_facts: yes
|
|
|
|
tasks:
|
|
- name: Check current PostgreSQL version
|
|
command: sudo -u postgres psql -t -c "SELECT version();"
|
|
register: pg_version
|
|
changed_when: false
|
|
|
|
- name: Display current version
|
|
debug:
|
|
msg: "Current version: {{ pg_version.stdout }}"
|
|
|
|
- name: Check PostgreSQL service status
|
|
command: systemctl status postgresql
|
|
register: pg_status
|
|
changed_when: false
|
|
|
|
- name: List PostgreSQL clusters
|
|
command: pg_lsclusters
|
|
register: pg_clusters
|
|
changed_when: false
|
|
|
|
- name: Display clusters
|
|
debug:
|
|
var: pg_clusters.stdout_lines
|
|
|
|
- name: Get database sizes
|
|
become_user: postgres
|
|
shell: |
|
|
psql -t -c "SELECT pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) FROM pg_database WHERE datname NOT IN ('template0', 'template1') ORDER BY pg_database_size(pg_database.datname) DESC;"
|
|
register: db_sizes
|
|
changed_when: false
|
|
|
|
- name: Display database sizes
|
|
debug:
|
|
msg: "Database sizes:"
|
|
|
|
- name: Show database sizes
|
|
debug:
|
|
var: db_sizes.stdout_lines
|
|
|
|
- name: Check disk space
|
|
command: df -h /var/lib/postgresql
|
|
register: disk_space
|
|
changed_when: false
|
|
|
|
- name: Display disk space
|
|
debug:
|
|
var: disk_space.stdout_lines
|
|
|
|
- name: List installed PostgreSQL packages
|
|
shell: dpkg -l | grep postgresql | grep -E "^ii"
|
|
register: pg_packages
|
|
changed_when: false
|
|
|
|
- name: Display PostgreSQL packages
|
|
debug:
|
|
var: pg_packages.stdout_lines
|
|
|
|
- name: Check active connections
|
|
become_user: postgres
|
|
shell: |
|
|
psql -t -c "SELECT count(*) as connections, datname FROM pg_stat_activity GROUP BY datname ORDER BY connections DESC;"
|
|
register: active_connections
|
|
changed_when: false
|
|
|
|
- name: Display active connections
|
|
debug:
|
|
var: active_connections.stdout_lines
|
|
|
|
- name: Check for replication slots (if any)
|
|
become_user: postgres
|
|
command: psql -t -c "SELECT * FROM pg_replication_slots;"
|
|
register: replication_slots
|
|
changed_when: false
|
|
ignore_errors: yes
|
|
|
|
- name: Display replication slots
|
|
debug:
|
|
var: replication_slots.stdout_lines
|
|
when: replication_slots.rc == 0 |