a idéia é essa, só que, meu problema é justo esse. eu preciso criar a
linguagem plpgsql se ela não tiver instalada, e a tua função é em plpgsql...

pra ficar mais claro, vou explicar o que fiz quem sabe, isso acaba se
tornando desnecessário... ok?

criei 3 funções para tratar dos índices, tipo, uma função "cadastra" os
creates dos índices em um tabela, uma apaga todos eles (óbviamente, ela é
chamada depois de fazer esse "backup") e depois de tudo, um função que
executa o create index.... (que já estava cadastrado em uma tabela.

fiz isso por que estou convertendo uma base de dados dbf para o pg. a
aplicação que vai utilizar é feita no genexus e o genexus é um montruoso
criador de índices, todas as consultas com ordenação "diferente", ele cria
um índice temporáriamente, ou permanentemente (se o desenvoldor assim achar
melhor). por isso, faço um backup dos índices, apago eles, importo e depois
re-crio os indices que a aplicação muito utiliza.

vlw!

On 5/31/07, Euler Taveira de Oliveira <[EMAIL PROTECTED]> wrote:

Sebastian SWC wrote:
> pessoal, como posso criar um script (sql) que valide se a base de dados
> do postgres já possúi instalada a linguagem procedural plpgsql ?
>

regression=# create language plperl;
CREATE LANGUAGE
regression=# select lanname from pg_language where lanispl;
lanname
---------
plpgsql
plperl
(2 registros)

Veja se uma função assim ajuda. Claro que algum tratamento deve ser feito.

CREATE OR REPLACE FUNCTION testapl(a varchar) RETURNS void AS
$$
DECLARE
        r VARCHAR;
BEGIN
        SELECT lanname INTO r FROM pg_catalog.pg_language WHERE lanispl
AND lanname = a;
        IF r IS NULL THEN
                EXECUTE 'CREATE LANGUAGE ' || a;
        END IF;
END;
$$ LANGUAGE 'plpgsql';



--
  Euler Taveira de Oliveira
  http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




--
Atenciosamente,
Sebastian Selau Webber Colombo

Acessem e participem: http://postgresql.blog.br/forum/

Sl 67.1-2: "Ó Deus, tem misericórdia de nós e abençoa-nos! Trata-nos com
bondade.
Assim o mundo inteiro conhecerá a tua vontade, e a tua salvação será
conhecida por todos os povos".
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a