Re: Errors when restoring backup created by pg_dumpall
От | PopeRigby |
---|---|
Тема | Re: Errors when restoring backup created by pg_dumpall |
Дата | |
Msg-id | 9c5ba566-27b8-4e8c-bf7d-2dc561509991@mailbox.org обсуждение исходный текст |
Ответ на | Re: Errors when restoring backup created by pg_dumpall (Adrian Klaver <adrian.klaver@aklaver.com>) |
Ответы |
Re: Errors when restoring backup created by pg_dumpall
|
Список | pgsql-general |
On 11/29/24 17:47, Adrian Klaver wrote: > On 11/29/24 17:34, PopeRigby wrote: >> My HDD recently failed so I'm trying to restore my backup, but I'm >> running into some errors. >> >> I've been using a systemd service that periodically backs up my >> cluster with pg_dumpall, and I'm using this command to restore: >> >> sudo psql -f backup.sql postgres >> >> I'm getting this output: >> https://gist.github.com/poperigby/d5a0103b9de1eba95aba783007e557ea > > > psql:all.sql:4104: ERROR: type "earth" does not exist > LINE 1: ...ians($1))*sin(radians($2))),earth()*sin(radians($1)))::earth > > QUERY: SELECT > cube(cube(cube(earth()*cos(radians($1))*cos(radians($2))),earth()*cos(radians($1))*sin(radians($2))),earth()*sin(radians($1)))::earth > CONTEXT: SQL function "ll_to_earth" during inlining > > CREATE TABLE public.geodata_places ( > id integer NOT NULL, > name character varying(200) NOT NULL, > longitude double precision NOT NULL, > latitude double precision NOT NULL, > "countryCode" character(2) NOT NULL, > "admin1Code" character varying(20), > "admin2Code" character varying(80), > "modificationDate" date NOT NULL, > "earthCoord" public.earth GENERATED ALWAYS AS > (public.ll_to_earth(latitude, longitude)) STORED, > "admin1Name" character varying, > "admin2Name" character varying, > "alternateNames" character varying > ); > > > Looks like an extension or extensions where not installed before the > restore was done. > > >> >> This is my (redacted) database dump: >> https://gist.github.com/poperigby/fcb59eb6c22c6051800e06a0ec482b49 >> >> > Weird, I have all the same software that was installed before I restored, as I'm using NixOS. I'm guessing the earth type is provided by earthdistance, and in the SQL script it's able to successfully install cube, vector, and earthdistance. I think earthdistance and cube are actually built-in modules, right? I ran the following commands, and earth is even one of the listed types: postgres=# CREATE EXTENSION earthdistance; CREATE EXTENSION postgres=# SELECT t.typname FROM pg_catalog.pg_type t JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace JOIN pg_catalog.pg_extension e ON e.extnamespace = n.oid WHERE e.extname = 'earthdistance'; typname --------- _cube _earth cube earth (4 rows) The earthdistance module is even getting added between the table with the earth type is added, so shouldn't there be no problem?
В списке pgsql-general по дате отправления: