3.4. O processamento em lote e formatos de saída

Versão de impressão

Além de ser interativo, o psql pode processar comandos em lotes armazenados em um arquivo do sistema operacional usando a seguinte sintaxe:

$ Psql-f demo demo.psql

Apesar de o seguinte comando também funciona no mesmo sentido, não é recomendado para uso, pois desta forma, o psql não mostrar informações de depuração importantes, tais como números de linha onde forem encontrados erros, se for o caso:

$ Psql demo <demo.psql

Psql intérprete se dispõe de mecanismos para guardar em arquivo o resultado das sentenças:

* Temos armazenado o resultado no arquivo e lsquo; / Tmp a.txt / '.

• Especificando o * arquivo de destino diretamente ao final de uma frase:

demo = # usuário selecione \ g / tmp / a.txt

• Usar um cachimbo para enviar a saída de um comando Unix:

Notação

Para encomendar & lsquo, \ O 'é devida especial verificam um arquivo ou um co comando que irá receber os resultados através de uma tubulação.
Quando você quiser voltar para stdout, apenas dar 'o \' o comando sem parâmetros.

demo = # select user \ g |> cat / tmp b.txt /

• Uso 'o \' o comando pode indicar onde ele deve ir para fora das demonstrações executando o SQL e mais velhos:

o demo = # \ / tmp /
sentencias.txt demo = # select
usuário;
demo = # select 1 +1 +4;
demo = # \ o
demo = # select 1 +1 +4;
? Coluna?
----------
6
(1 linha)
demo = #

• Pode ser solicitadotar executando um comando único e denunciar imediatamente após o seguinte:

O arquivo de saída

Tendo especificado que deseja a saída em HTML, podemos redirecionar para um arquivo (como vimos) e gerar um arquivo HTML que exibe os resultados da consulta usando um navegador web convencional

$ Psql-d demo-c "comando"

• Você pode especificar o formato de saída dos resultados de uma frase.
Por padrão, o psql exibe em forma de tabela com o texto.Para mudar isso, você deve modificar o valor do 'formato' variável interna usando o comando

'\ Pset. Considere, por um lado, a especificação do formato de saída:

demo = formato html # \ pset
O formato de saída é HTML.
demo = # usuário selecionar;

current_user

postgres

(1 linha)

demo = #

Outros formatos de saída, como "alinhados", "desalinhados", "látex" 'html' e. Por padrão, o psql exibe o resultado em "alinhados".

A saída deste arquivo

Com essa configuração, e dizer "manter restringir a saída para um arquivo, gerar um arquivo CSV pronto para ser lido em uma planilha ou programa de importação de outros dados.

Nós também temos muitas variáveis ​​para definir o separador entre as colunas, o número de registros por página, o separador entre os registros, o título da página html, etcPor exemplo:

formato demo = # \ pset
O formato de saída é desalinhado
desalinhado. demo = # \ pset
fieldsep separador ',' Campo
é ``,''.
usuário demo = # select, 1 +2 +3 como resultado;
current_user, ele
ou postgres, 6
(1 linha)
demo = #

Para fazer os exemplosrestante desta seção, você deve processar o conteúdo do arquivo demo.sql como transcrito abaixo.

Demo.psql conteúdo do arquivo

- Produtos de mesa da gota;
- Drop fornecedor de mesa;
- Preço de tabela gota;
- Drop lucro de mesa;

criar produtos de mesa (
varchar parte (20),
varchar (20),
especificação varchar (20),
psugerido flutuador (6),
serial chave,

chave primária (chave)
)

inserir os produtos (parte, tipo, especificação, psugerido) valores
(`CPU ', '2 GHz, '32-bit', null);
inserir os produtos (parte, tipo, especificação, psugerido) valores
(CPU `''2 0,4 GHz ', '32-bit', 35);
inserir os produtos (parte, tipo, especificação, psugerido) valores
(`CPU ', '1 0,7 GHz, 64 bits, 205);
inserir os produtos (parte, tipo, especificação, psugerido) valores
('CPU', '3 GHz, 64 bits, 560);
inserir os produtos (parte, tipo, especificação, psugerido) valores
(`RAM, '128MB ', '333 MHz, 10);
inserir os produtos (parte, tipo, especificação, psugerido) valores
(`RAM, '256MB ', '400 MHz, 35);
inserir os produtos (parte, tipo, especificação, psugerido) valores
("Hard Drive", "80 GB ', '7200 rpm', 60);
inserir os produtos (parte, tipo, especificação, psugerido) valores
('Disco rígido', '120 GB ', '7200 rpm, 78);
inserir os produtos (parte, Tipo, especificação, psugerido) valores
('Disco rígido', '200 GB ', '7200 rpm', 110);
inserir os produtos (parte, tipo, especificação, psugerido) valores
('Hard Drive', '40 GB ', '4200 rpm', null);
inserir os produtos (parte, tipo, especificação, psugerido) valores
('Monitor', '1024x876 ', '75 Hz', 80);
inserir os produtos (parte, tipo, especificação, psugerido) valores
('Monitor', '1024x876 ', '60 Hz', 67);

criar fornecedor tabela (
empresa varchar (20) não nulo,
bool Crédito,
bool eficaz,
empresa chave primária)
)

inserir fornecedores (empresas, dinheiro) VALUES ('Techno-k', true
) 'Pato' Inserir fornecedores (empresas de crédito), valores (
tinserir rue) em fornecedores (empresas, dinheiro, crédito) valores
('Nacional', true, true);

criar tabela de ganho (
varchar venda (16),
fator decimal (4,2)
)

inserir valores de ganho ('grosso', 1.05);
inserir valores de ganho ('Varejo', 1.12);

criar preços de tabela (
empresa varchar (20) não nulo,
int chave não nulo,
float preço (6),

estrangeiros os principais fornecedores (empresa) referências
chave estrangeira (chave) de produtos referências
)

inserir valores de preços ("nacional", 001,30.82);
inserir valores de preços ("nacional", 002,32.73);
inserir valores de preços ("nacional", 003,202.25);
inserir valores a preços(«Nacional», 005,9.76);
inserir valores de preços ("nacional", 006,31.52);
inserir valores de preços ("nacional", 007,58.41);
inserir valores de preços ("nacional", 010,64.38);
inserir valores de preços ("Pato", 001,30.40);
inserir valores de preços ("Pato", 002,33.63);
inserir valores de preços ("Pato", 003,195.59);
inserir valores de preços ("Pato", 005,9.78);
inserir valores de preços ("Pato", 006,32.44);
inserir valores de preços ("Pato", 007,59.99);
inserir valores de preços ("Pato", 010,62.02);
inserir valores de preços ("Techno-k ', 003,198.34);
inserir valores de preços ("Techno-k ', 005,9.27);
inserir valores de preços ("Techno-k ', 006,34.85);
inserçãoPreços em valores de t ('Techno-k', 007,59.95);
inserir valores de preços ("Techno-k ', 010,61.22);
inserir valores de preços ("Techno-k ', 012,62.29);

Um estudo realizado pela Turespaña, Instituto de Turismo de Espanha, destaca que 96% dos turistas que viajaram em 2009, consultado na internet antes de fazer isso e 67% fizeram uma reserva [1]. Até recentemente, quando decidimos que iríamos fazer uma viagem a um agente de viagens para nos aconselhar sobre vários feriados. No entanto, o   No ano passado, graças aos avanços tecnológicos,...
Hoje temos consultado a nossa posição no ranking Alexa , e temos sido agradavelmente surpreso ao descobrir que, no mês de março estamos localizados em portais ou mesmo acima, tais como TDWI ou BeyeNETWORK são referência mundial indiscutível . / * Muito obrigado por seu apoio a todos aqueles que nos seguem, e especialmente aqueles que estão participando, compartilhando seu conhecimento. Nós o...