Erro pg_restore do pgadmin3 - Postgresql

8

Eu fiz um backup de um postgresql db de um system1 usando a ferramenta pgadmin3. O arquivo de backup criado é da extensão ".backup"

Estou tentando restaurá-lo em outro sistema2 instalado com o postgresql 9.0 e o pgadmin3 1.8, mas iam recebendo o erro

não foi possível executar a consulta: ERRO: parâmetro de configuração não reconhecido "lock_timeout" O comando era: SET lock_timeout = 0;

configuração de ambos os sistemas

system1 win7-64bit postgresql 9.0.13-1 - 64 bits pgadmin 1.8

system2 win7-32bit postgresql 9.0.13-1 - 32 bits pgadmin 1.8

Sangram Anand
fonte

Respostas:

6

lock_timeout é um novo parâmetro que apareceu no PostgreSQL 9.3

De acordo com as notas de versão :

Adicione a variável de configuração lock_timeout para permitir limitar quanto tempo uma sessão aguardará para adquirir qualquer bloqueio (Zoltán Böszörményi)

Isso indicaria que o pgadmin está usando um pg_dumpcomando do PostgreSQL 9.3 para fazer o backup, em vez do 9.0.

Isso é recomendado apenas ao migrar para a 9.3. Como o servidor de destino é 9.0, use melhor o pg_dumpbinário que foi instalado com o servidor 9.0.

O caminho dos binários externos pode ser definido nas preferências do pgAdmin. Para corrigir o problema, você pode configurá-lo para o diretório bin da sua instalação 9.0 e tentar fazer backup novamente.

Fora isso, como uma correção única, você pode editar o arquivo de despejo se estiver em texto sem formatação, remova a linha SET lock_timeout = 0;incorreta na esperança de que seja o único problema causado pela incompatibilidade de versão.

Daniel Vérité
fonte
11
Estranhamente, eu tenho esse mesmo erro, mesmo com um banco de dados de 9,3 a origem eo destino ...
Cerin
Estou recebendo esse erro com um db feito backup do heroku e restaurando no novo local 9.3 db. Isso importa?
23414 just justordordon
11
Não consigo obter esse parâmetro em todos os arquivos de backup, mas mesmo assim a restauração me informa o mesmo erro. Eu obtive despejo no 9.3 postgresql e tento restaurar no 9.2 postgresql. Eu acho que existe alguma opção de criar automaticamente esses parâmetros lock_timeout?
precisa saber é o seguinte