Índice
PSQL é a linha de comando, o console que vem empacotado por padrão com PostgreSQL, isso nos permite fazer consultas e até mesmo usá-lo como ferramenta para realizar scripts automatizados, importar e exportar dados, restaurações, administração de banco de dados e até mesmo como gerador básico de relatórios.Para usar o console interativo PSQL Devemos primeiro saber quais comandos podemos usar neste modo, para isso podemos acessar a ajuda geral que temos usando a seguinte instrução:
psql \?
Com isso vamos mostrar uma lista do que podemos usar, adicionalmente se tivermos alguma dúvida com uma instrução SQL podemos usar esta ajuda para obter informações específicas sobre o referido comando, por exemplo:
\ h CRIAR TABELA
Isso nos daria um resultado como o que veremos na próxima imagem.
Como podemos observar a ajuda nos mostra todas as opções válidas que podemos usar ao executar um comando ou instrução SQL dentro de nossa linha de comando interativa PSQL.
O console não interativo significa que pedimos à linha de comando para executar um arquivo de script que contém uma mistura de instruções SQL com comandos PSQLPodemos até passar alternativamente instruções SQL na chamada para execução no console não interativo. Isso nos permite facilitar a criação de tarefas automatizadas, pois podemos armazenar as instruções que queremos executar em um arquivo e depois programá-las para serem executadas quando precisarmos.
Para executar um arquivo, simplesmente usamos o parâmetro -f como segue
psql -f some_script_file
Se não tivermos os comandos em um arquivo, podemos passá-los diretamente para o console da seguinte maneira:
psql -d postgresql_book -c "DROP TABLE IF EXISTS impureza; CRIE SCHEMA staging;"
Como vimos, podemos incluir várias instruções, desde que as separemos com um ponto-e-vírgula.
Vamos ver como construir um arquivo com comandos interativos dentro de:
\ a \ t \ g create_script.sql SELECT 'CREATE TABLE staging.factfinder_import (geo_id varchar (255), geo_id2 varchar (255), geo_display varchar (255),' || array_to_string (array_agg ('s' || lpad (i :: texto, 2, '0') || 'varchar (255), s' || lpad (i :: texto, 2, '0') || '_perc varchar (255)'), ',') || ');' FROM generate_series (1,51) As i; \ o \ i create_script.sql
Nós usamos \ t para remover os cabeçalhos e \ a para eliminar os elementos de quebra que são gerados, então com \ g especificamos que vamos gerar um arquivo para a saída do que nossa Consulta gera. Então com a função lpad permitirá que nossas colunas tenham a estrutura s01, s01_perc, s02, s02_perc. Chamamos o comando \ o para interromper o despejo no arquivo e, para gerar efetivamente o arquivo, usamos o comando interativo \ i.
Finalmente, podemos executar nosso arquivo com o comando:
psql -f build_stage.psql -d postgresql_book
Com isso, construímos nossa funcionalidade de uma forma bastante simples, graças às ferramentas do console ou linha de comando PSQL. Com isso finalizamos nosso tutorial, já sabemos um pouco mais sobre o console e os diferentes ambientes que ele manipula, como interativo e não interativo.