Błąd PostgreSQL 9.1 pg_restore dotyczący PLPGSQL
Używam Postgres do projektu django i obecnie wdrażam system tworzenia kopii zapasowych / przywracania bazy danych, który tak prosty, jak to możliwe, wykonuje pg_dump, gdy użytkownik kliknie kopię zapasową, a następnie pg_restore, gdy kliknie przywracanie kopii zapasowej.
Wszystko wydaje się w porządku, dopóki nie spróbuje wykonać polecenia pg_restore, w którym to czasie podaje ten błąd:
pg_restore: [archiwizator (db)] Błąd wpisu TOC 3206; 0 0 ROZSZERZENIE KOMENTARZA plpgsql pg_restore: [archiwizator (db)] nie mógł wykonać zapytania: BŁĄD: musi być właścicielem rozszerzenia plpgsql Polecenie było: KOMENTARZ NA ROZSZERZENIU plpgsql IS 'PL / pgSQL język proceduralny';
Sprawdziłem, czym jest plpgsql itp. I rozumiem to, a jeśli chodzi o błąd, próbowałem ręcznie ustawić „właściciela rozszerzenia” na użytkownika, który uruchamia skrypt i jest właścicielem samej bazy danych, ale nic się nie zmieniło, ponieważ jest to naprawdę denerwujące, ponieważ jego błąd przy próbie skomentowania wszystkich rzeczy
Wszystko to jest tworzone automatycznie przez pg_dump, więc wiersz komentarza nie może zostać usunięty i nie ma flag do wyłączenia komentarzy (które zdaję sobie sprawę), więc jestem naprawdę zajęty tym, jak rozwiązać ten problem.