8.0 beta1: pg_dump/restore failing

Поиск
Список
Период
Сортировка
От Edmund Bacon
Тема 8.0 beta1: pg_dump/restore failing
Дата
Msg-id 4119485C.7070902@onesystem.com
обсуждение исходный текст
Ответы Re: 8.0 beta1: pg_dump/restore failing  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
pg_dump/restore in 8.0beta1 are not working well with formats other
thans plain text:



$ pg_restore --version
pg_restore (PostgreSQL) 8.0.0beta1
$ pg_dump --version
pg_dump (PostgreSQL) 8.0.0beta1

$ createdb test_8
CREATE DATABASE
$ createlang plpgsql test_8

$ psql test_8 -c \
 > " create function foo() returns int as 'begin return 1; end;'
language 'plpgsql'"
CREATE FUNCTION

$ psql test_8 -c "select foo()";
  foo
-----
    1
(1 row)



$ pg_dump --format=c --file=test_8.dump test_8

$ pg_restore --format=c --clean --dbname=test_8 test_8.dump
pg_restore: [archiver (db)] could not execute query: ERROR:  schema
"public" does not exist
pg_restore: [archiver (db)] could not execute query: ERROR:  schema
"public" does not exist
pg_restore: [archiver (db)] could not execute query: ERROR:  schema
"public" does not exist
pg_restore: [archiver (db)] could not execute query: ERROR:
unterminated dollar-quoted string at or near "$$begin return 1;" at
character 115
pg_restore: WARNING:  there is no transaction in progress
pg_restore: [archiver (db)] could not execute query: ERROR:
unterminated dollar-quoted string at or near "$$
     LANGUAGE plpgsql;" at character 1
pg_restore: [archiver (db)] could not execute query: ERROR:  schema
"public" does not exist
pg_restore: [archiver (db)] could not execute query: ERROR:  schema
"public" does not exist
pg_restore: [archiver (db)] could not execute query: ERROR:  schema
"public" does not exist
pg_restore: [archiver (db)] could not execute query: ERROR:  schema
"public" does not exist
pg_restore: [archiver (db)] could not execute query: ERROR:  schema
"public" does not exist
--
-- PostgreSQL database dump complete
--

WARNING, errors ignored on restore: 10
$

Note that there was a problem restoring the function.
Did --clean remove the public schema?
Hmm ...  maybe there's a problem with --clean

$ dropdb test_8
DROP DATABASE
$ pg_restore --format=c --create --dbname=test test_8.dump
pg_restore: [archiver (db)] could not execute query: ERROR:
unterminated dollar-quoted string at or near "$$begin return 1;" at
character 115
pg_restore: WARNING:  there is no transaction in progress
pg_restore: [archiver (db)] could not execute query: ERROR:
unterminated dollar-quoted string at or near "$$
     LANGUAGE plpgsql;" at character 1
pg_restore: [archiver (db)] could not execute query: ERROR:  function
public.foo() does not exist
--
-- PostgreSQL database dump complete
--

WARNING, errors ignored on restore: 3
$


Yep, but we still can't restore the function.

tests with format=t show the same behaviour.
tests with format=p succeed

--
Edmund Bacon <ebacon@onesystem.com>

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Adam Witney
Дата:
Сообщение: Re: OSX problem with make check...
Следующее
От: Martin Münstermann
Дата:
Сообщение: Re: 8.0.0beta1: make check fails on solaris8