DBAtlas · Atlas für Datenbankbetrieb

Extensions mit ausstehenden Updates finden und aktualisieren

PostgreSQLExtensions

Befehl

SELECT e.extname,
       e.extversion AS installed,
       a.default_version AS available,
       n.nspname AS schema_name,
       format('ALTER EXTENSION %I UPDATE;', e.extname) AS fix
FROM pg_extension e
JOIN pg_available_extensions a ON a.name = e.extname
JOIN pg_namespace n ON n.oid = e.extnamespace
WHERE e.extversion IS DISTINCT FROM a.default_version
ORDER BY e.extname;

-- Is there an update path?
SELECT * FROM pg_extension_update_paths('pgstattuple') WHERE path IS NOT NULL;

ALTER EXTENSION pgstattuple UPDATE;

Was es tut

Vergleicht die in der Datenbank installierte Version jeder Extension mit der Standardversion des Pakets auf dem Server und erzeugt den Befehl ALTER EXTENSION für solche mit ausstehenden Updates.

Wann einsetzen

Nach Minor-/Major-Upgrades von PostgreSQL und Updates von Extension-Paketen sowie bei regelmäßiger Wartung.

Vorsicht

Ein Upgrade des OS-Pakets aktualisiert die SQL-Seite nicht automatisch; ALTER EXTENSION ... UPDATE muss in jeder Datenbank separat ausgeführt werden (besonders wichtig nach pg_upgrade). Das Update-Skript kann Sperren nehmen und Objekte ändern (z. B. PostGIS); vorher testen und die Release Notes lesen. Um auf eine bestimmte Version zu wechseln: ALTER EXTENSION pgstattuple UPDATE TO '1.5'; Einige Extensions (z. B. pg_stat_statements) erfordern zusätzlich einen Neustart, um die Shared Library neu zu laden.

In DBAtlas öffnen →

Verwandte Einträge