Seite 1 von 1

Fehler bei vacuumdb

Verfasst: Fr 13. Dez 2019, 11:49
von robomobil
Hallo,

ich bekomme bei einer meiner Datenbanken beim Aufruf von vacuumdb mit der Option -az (Analyse) folgende Fehlermeldung:

vacuumdb: vacuuming of database "XXX" failed: ERROR: function XXX does not exist

Die Funktion existiert im Public schema. Wenn ich in der Datenbank selber ein Vacuum Analyse aufrufe, geht das ohne Fehler durch.
Die Funktion, die das vacuumdb nicht findet gibt die Fehlermeldung mit den Parametern (xml, unknown) aus, definiert ist die aber mit (xml, character varying).

Habt Ihr eine Idee woran das liegen könnte? Zumal laut Doku vacuumdb ja nur ein Wrapper für vaccum ist.

Re: Fehler bei vacuumdb

Verfasst: Fr 13. Dez 2019, 11:54
von akretschmer
klingt nach beschädigten Katalogen. An Deiner Stelle würde ich jetzt sehen, ob man einen kompletten Dump hinbekommt, der dann auch diese Funktion enthält.

Welche Version, welches OS?

Re: Fehler bei vacuumdb

Verfasst: Fr 13. Dez 2019, 12:02
von robomobil
Dump klappt und enthält auch die Funktion. Postgres ist Version 968, OS SLES 12.

Re: Fehler bei vacuumdb

Verfasst: Fr 13. Dez 2019, 12:11
von akretschmer
Okay, 9.6.8 ist schon etwas betagt, aktuell wäre 9.6.16. SLES, okay, ich dachte schon Windows mit 42 unterschielichen Virenscannern ;-)

Gab es irgend etwas (crash, Platte voll, ...), was das ausgelöst hat? Sind irgend welche Extensions drauf, die NICHT aus Contrib sind? Virenscanner?

Re: Fehler bei vacuumdb

Verfasst: Fr 13. Dez 2019, 12:19
von robomobil
Von einem Crahs weiss ich nichts, beim Plattenplatz gab es keine Probleme. Als Extensions sind pg_stat_statements und tablefunc drauf.

Ich wundere mich nur, das es beim Vacuum analyse in der Datenbank ohne Fehler klappt. Vacuumdb macht doch auch nichts anderes. Und an den Katalogen kann es dann ja eigentlich auch nicht liegen. Ich kann mich natürlich um ein Wartunsgfenster bemühen und dann die Db Dumpen und neu Einspielen, dann sollten die Kataloge ja sauber sein.

Re: Fehler bei vacuumdb

Verfasst: So 22. Dez 2019, 09:24
von ads
Hilft denn --verbose weiter?

Wieso stört sich VACUUM überhaupt an einer Funktion? Die werden doch normalerweise nicht weiter analysiert.

Re: Fehler bei vacuumdb

Verfasst: Fr 10. Jan 2020, 06:11
von robomobil
Hallo,

verbose hilft mir auch nicht weiter. bei Vacuumdb -vz kommt folgende Ausgabe:

INFO: analyzing "public.adresse"
INFO: "adresse": scanned 2128 of 2128 pages, containing 24381 live rows and 0 dead rows; 24381 rows in sample, 24381 estimated total rows
vacuumdb: vacuuming of database "zbr" failed: ERROR: function zbr_xpath(xml, unknown) does not exist
LINE 1: SELECT (zbr_xpath(doc,'boolean(//zbr:hausnummer[node() or @n...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
QUERY: SELECT (zbr_xpath(doc,'boolean(//zbr:hausnummer[node() or @nil=''true''])') = 'true')
CONTEXT: PL/pgSQL function public.zbr_adresse(xml) line 8 at assignment

bei vacuum analyse verbose das hier:

INFO: analyzing "public.adresse"
INFO: "adresse": scanned 2128 of 2128 pages, containing 24381 live rows and 0 dead rows; 24381 rows in sample, 24381 estimated total rows

Und dann geht es mit der nächste Tabelle weiter.