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

Responder a