Gerar arquivos CSV no postgresql
Publicado por Fernando Zank Correa Evangelista 30/01/2006
[ Hits: 11.390 ]
O script conecta no banco de dados e gera uma arquivo no formato CSV de acordo com a query que é passada para o script.
Segue um manual de uso.
Melhorias, dúvidas e alterações favor entrar em contato pelo mail fernandozank@gmail.com []'s
Manual do script
Selecione uma das opções
1. Conectar com paramêtros [SCRIPT.SQL][ARQUIVO.CSV][HOST][BASE_DO_BD]
2. Conectar com paramêtros [SCRIPT.SQL][ARQUIVO.CSV][HOST][BASE_DO_BD][CARACTER_SUBSTITUICAO]
3. Conectar com paramêtros [SCRIPT.SQL][ARQUIVO.CSV][HOST][BASE_DO_BD][USUARIO][SENHA]
4. Conectar com paramêtros [SCRIPT.SQL][ARQUIVO.CSV][HOST][BASE_DO_BD][CARACTER_SUBSTITUICAO][USUARIO][SENHA]
5. Help
6. Sair do script
onde :
SCRIPT.SQL Corresponde a um script sql válido para gerar os dados de saída.
ARQUIVO.CSV Corresponde ao nome do arquivo com a extensão csv.
HOST Corresponde ao host do banco de dados.
BASE_DO_BD Corresponde ao nome da base do banco de dados.
USUARIO Corresponde ao usuário da base do banco de dados.
SENHA Corresponde a senha do usuário no banco de dados.
CARACTER_SUBSTITUICAO Corresponde ao caracter que foi usado na query para substituir o caracter("), o padrão é caracter (¢)
perguntas do script:
As perguntas variam de acordo com os parâmetros selecionados:
-Perguntas relacionadas ao parametro [SCRIPT.SQL]
#ver detalhes da query usada para gerar os arquivos CSV
1 -"Digite o nome arquivo com o script sql a ser carregado:"
corresponde ao script sql usado para gerar os dados, ou seja este script deverá ter uma query sql.
ex: /home/user/sqls/consulta.sql
2 -"Seu script sql possui sequencia( Ex: CREATE SEQUENCE ...) ? [s/n]:"
Digite s se exister seu script sql estiver criando e deletando uma sequencia ou
Digite n se exister seu script sql não utilizar sequência
# Exemplo de query para gerar arquivos CSV atráves do POSTGRESQL
esta query sql poderia ser usada no arquivo /home/user/sqls/consulta.sql
___________________________________________________________________________________________________________________________
create sequence cod_item start 1; --criação da sequência
select
nextval('cod_item') as cod_item
,trim('"'||translate(m01_descr1,'"' ,'¢'))||'"') as descricao
,m01_estmin as estoque_minimo
,m01_estmax as estoque_maximo
,m01_pontop as ponto_pedido
from mater;
drop sequence cod_item; --Drop na sequência
___________________________________________________________________________________________________________________________
*verifique que na query acima foi criada uma sequencia e após a query a sequencia foi apagada(ver pergunta 2 ).
|IMPORTANTE|
*para todos os CAMPOS TEXTO é necessário fazer a substituição do caracter " por outro caracter.
no exemplo acima -> translate(m01_descr1,'"' ,'¢'))
substituindo todos caracteres(") pelo caracter(¢).
-utilizado pelo parâmetro [CARACTER_SUBSTITUICAO]
*para todos os CAMPOS TEXTO é necessário concatenar o caracter(") do campo texto e depois do campo também,
devido ao padrao do formato CSV.
no exemplo acima usamos o '"' || para concatenar -> '"'||translate(m01_descr1,'"' ,'¢'))||'"'
___________________________________________________________________________________________________________________________
-Perguntas relacionadas ao parametro [ARQUIVO]
1 -"Digite o nome arquivo de saida (arquivo.csv): "
Este arquivo corresponde ao arquivo de saída do script
ex: /home/user/CSV/arquivo.csv
-Perguntas relacionadas ao parametro [HOST]
1 -"Digite o host do banco de dados:"
Corresponde ao paramêtro -h do BD POSTGRESQL
ex: 10.27.68.123
-Perguntas relacionadas ao parametro [BASE_DO_BD]
1 -"Digite a base do banco de dados:"
Coresponde a base do BD POSTGRESQL
ex: municipio
-Perguntas relacionadas ao parametro [CARACTER_SUBSTITUICAO]
1 -"Digite o caractere de substituição utilizado na query:"
Corresponde ao caracter utilizado na substituição do caracter(") na sua sql, ver arquivo de exemplo de [SCRIPT.SQL]
-Perguntas relacionadas ao parametro [USUARIO]
1 -"Digite o usuário do banco de dados:"
Corresponde ao nome do usuário do BD POSTGRESQL
-Perguntas relacionadas ao parametro [SENHA]
1 -"Digite a senha do banco de dados:"
Corresponde a senha do usuário do BD POSTGRESQL
#Desenvolvedor Fernando Zank Correa Evangelista
#fernandozank@gmail.com
Sysinfo - Informações sobre o seu computador
Envio de backps de bancos por ftp com notificação por email
Postfix - Listar usuários com over quota
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
É normal não gostar de KDE? (13)
VOL já não é mais como antes? (8)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









