PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 05/01/2021 10:55:26

LECARROU
Membre

Impossible de restaurer ma base de données (pg_restore failed)

Bonjour,

j'utilise une base de données PostgreSQL 10 avec mon application Django.
J'ai mis en place une sauvegarde automatique à l'aide de l'application tierce Django dbbackup qui génère un fichier .psql ci-dessous (en utilisant pg_dump en principe)

J'essaie donc de restaurer ma base depuis pgAdmin 4 mais la restauration échoue sans que j'ai plus d'info sur la raison.

J'ai créé un base de données db_backup et depuis pgAdmin 4, je sélectionne ma base et l'option restore
Je sélectionne mon fichier backup.psql

J'ai simplement une fenêtre qui s'affiche indiquant:
Restoring backup on server 'Postgres Enterprise Managager (localhost:5433)'...
Running command:
C:\path\to\pg_restore.exe --host "localhost" --port "5433" --username "postgres" --no-password --dbname "db_backup" --verbose "D:\\path\to\my\files\backup.psql"

Failed (exit code: 1)

Ma base est bien sur le port 5433

--
-- PostgreSQL database dump
--

-- Dumped from database version 10.10
-- Dumped by pg_dump version 12.5

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;

ALTER TABLE ONLY public.parameters_historicalthesaurusoption DROP CONSTRAINT parameters_historica_history_user_id_f34984e9_fk_auth_user;

...

--
-- Name: Comments; Type: TABLE; Schema: public; Owner: user_dev
--

CREATE TABLE public."Comments" (
    deleted timestamp with time zone,
    comment_id integer NOT NULL,
    title character varying(50),
    comment character varying(250),
    rate integer,
    "like" integer,
    dislike integer,
    created_at timestamp with time zone NOT NULL
);

Hors ligne

#2 05/01/2021 11:12:57

rjuju
Administrateur

Re : Impossible de restaurer ma base de données (pg_restore failed)

Votre instance est installée localement ?


Quoi qu'il en soit, pg_restore devrait vous fournir plus d'information sur l'erreur.  Si pgAdmin ne vous affiche pas le détail, essayez de lancer la commande en question manuellement.

Hors ligne

#3 05/01/2021 11:17:52

LECARROU
Membre

Re : Impossible de restaurer ma base de données (pg_restore failed)

oui, localement

j'ai testé en faisant une sauvegarde et en restaurant ma base db_dev dans db_dev_backup depuis pgAdmin et çà fonctionne

j'ai l'impression que c'est le fichier créé via mon appli qui n'est pas conforme...

C:\Program Files\PostgreSQL\10\bin\pg_restore.exe --host "localhost" --port "5433" --username "postgres" --no-password --dbname "db_dev_backup" --verbose "D:\\path\to\db_backup.psql"

j'ouvre donc une invite au niveau C:\Program Files\PostgreSQL\10\bin et je tape la commande :
pg_restore --host "localhost" --port "5433" --username "postgres" --no-password --dbname "db_dev_backup" --verbose "D:\\path\to\db_backup.psql"

j'obtiens le message pg_restore: [archiveur] Le fichier en entrée semble être une sauvegarde au format texte. Merci d'utiliser psql.

Dernière modification par LECARROU (05/01/2021 11:23:44)

Hors ligne

#4 05/01/2021 11:37:25

rjuju
Administrateur

Re : Impossible de restaurer ma base de données (pg_restore failed)

Effectivement, il faut soit modifier votre application pour ajouter une option telle que "-Fc" (format custom) lors de la sauvegarde, soit restaurer avec psql.

Hors ligne

#5 05/01/2021 11:46:50

LECARROU
Membre

Re : Impossible de restaurer ma base de données (pg_restore failed)

j'ouvre SQL Shell (psql) et me connecte à la base de données db_dev_backup avec l'utilisateur postgres

\i 'D:\\path\to\my\file\db_backup.psql';

Dernière modification par LECARROU (05/01/2021 11:55:02)

Hors ligne

Pied de page des forums