Prezado:

Apenas uma opnião:
Não acho que o create or replace deva ser o motivo do erro, pois, em
princípio devería  comportar-se como um create simples, caso o objeto não
exista. Na linha de comando o erro se repete ?


Obrigado.
Grillo.

Em 12 de janeiro de 2011 16:47, Emanuel Araújo <[email protected]> escreveu:

> Srs.
>
> Estava realizando um dump restore de um cliente 9.0, fazendo um dump de um
> banco 8.4 para um banco 8.4
>
> A linha executada: pg_dump -h db_template -Fc -b -i -v | pg_restore -v -d
> db_destino
>
> Percebi que minhas funções não estavam sendo criadas por um erro de não
> existencia da Language "plpgsql"
>
> resolvi mudar no dump de -Fc Para -Fp e ver o código à ser gerado.
>
> Quando gero com um cliente 8.4, o código de criação da LANGUAGE fica assim:
>
> CREATE PROCEDURAL LANGUAGE plpgsql;
> ALTER PROCEDURAL LANGUAGE plpgsql OWNER TO postgres;
>
> Quando gero com um cliente 9.0, a grande surpresa:
>
> CREATE *OR REPLACE* PROCEDURAL LANGUAGE plpgsql;
> ALTER PROCEDURAL LANGUAGE plpgsql OWNER TO postgres;
>
> O código muda acrescentando um "OR REPLACE".
>
> Existe uma forma de "burlar" ou melhor, esquivar desse problema?
>
> Não queria ter que sempre gerar um arquivo_texto.dmp e depois rodar um sed
> para mudar o comando e depois subir com psql.
>
> Outra pergunta: PORQUE MUDARAM?
>
> --
> Atenciosamente,
>
> Emanuel Araújo
> http://eacshm.wordpress.com
>
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a