On 2015-04-28 17:10, Euler Taveira wrote:
Se você quiser a saída do psql, ele fornece um modo LaTeX. Veja:

psql -c "\d mytable" -o /tmp/foo.sql -P format=latex meubd

Nos meu relatórios técnicos eu costumo utiliza o pacote listings
definindo a linguagem SQL (não faz o destaque de toda sintaxe do
postgres mas já quebra um galho, além disso, há possibilidade de
adicionar novas palavras chaves com lstset). Algo como:

\begin{lstlisting}
SELECT nspname || '.' || relname FROM pg_class c
INNER JOIN pg_namespace n ON (n.oid = c.relnamespace)
WHERE relkind = 'r'
    AND nspname <> 'information_schema'
    AND relname !~ '^pg_'
\end{lstlisting}

Obrigado pelas respostas, já me deram varias pistas. E desculpem-me pela ambiguidade da minha pergunta.

Eu não quero mostrar código SQL no corpo do documento e que este fique com uma sintaxe destacada. Mas de todas as maneiras, obrigado, agora já sei como se faz.

O que pretendo é o que o Euler mostrou com:
psql -c "\d mytable" -o /tmp/foo.sql -P format=latex meubd

Mas para varias tabelas que estão num determinado schema:
SELECT relname FROM pg_class c
 INNER JOIN pg_namespace n ON (n.oid = c.relnamespace)
 WHERE relkind = 'r'
     AND nspname = 'myschema'
ORDER BY relname; -- 46 tabelas

E que o código que gere a descrição das tabelas fique e se execute dentro do próprio documento de latex. E que este uma vez compilado mostre apenas descrição das varias tabelas (\d mytable) presentes no schema 'myschema'. Não sei se isso é possível.

Muito obrigado. Cumprimentos,

Eloi


_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a