Gerar arquivos CSV no postgresql
Publicado por Fernando Zank Correa Evangelista 30/01/2006
[ Hits: 10.957 ]
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
EPD (Editor de Pacotes Debian)
Alterando resolução de monitor externo
Limpando cache do Squid (Baseado em Debian)
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Clamav e suas atualizações (15)
Desenvolvimento de um driver (10)
Não esta salvando as configurações de usuário. (3)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba