Eu inseri um dado em uma tabela .... Quero ver agora a tabela inteira com linhas e colunas e dados. Como eu posso exibi-lo através do comando?
Eu inseri um dado em uma tabela .... Quero ver agora a tabela inteira com linhas e colunas e dados. Como eu posso exibi-lo através do comando?
Respostas:
psql -U username -d mydatabase -c 'SELECT * FROM mytable'
Se você é novo no postgresql e não está familiarizado com o uso da ferramenta de linha de comando psql
, há algum comportamento confuso que você deve estar ciente quando entrar em uma sessão interativa.
Por exemplo, inicie uma sessão interativa:
psql -U username mydatabase
mydatabase=#
Nesse ponto, você pode inserir uma consulta diretamente, mas lembre-se de encerrar a consulta com um ponto-e-vírgula;
Por exemplo:
mydatabase=# SELECT * FROM mytable;
Se você esquecer o ponto-e-vírgula, ao pressionar enter, não receberá nada na linha de retorno, pois psql
estará assumindo que você não terminou de inserir sua consulta. Isso pode levar a todos os tipos de confusão. Por exemplo, se você digitar novamente a mesma consulta, provavelmente criará um erro de sintaxe.
Como um experimento, tente digitar qualquer garble desejado no prompt do psql e pressione enter. psql
silenciosamente fornecerá uma nova linha. Se você inserir um ponto-e-vírgula nessa nova linha e pressionar Enter, receberá o erro:
mydatabase=# asdfs
mydatabase=# ;
ERROR: syntax error at or near "asdfs"
LINE 1: asdfs
^
A regra geral é: Se você não recebeu resposta, psql
mas esperava pelo menos ALGO, esqueceu o ponto-e-vírgula;
SELECT * FROM my_table;
Onde my_table
está o nome da sua tabela.
EDITAR:
psql -c "SELECT * FROM my_table"
ou apenas psql
e, em seguida, digite suas consultas.
psql -U username -c your_database "SELECT * FROM my_table"
cmd.exe /c chcp 1252
depois de abrir o prompt do console.
psql: FATAL: database "SELECT * FROM tb_name" does not exist
Abra o "SQL Shell (psql)" em seus Aplicativos (Mac).
Clique em Enter para as configurações padrão. Digite a senha quando solicitado.
*) Digite \?
para obter ajuda
*) Digite \conninfo
para ver com qual usuário você está conectado.
*) Digite \l
para ver a lista de bancos de dados.
*) Conecte-se a um banco de dados \c <Name of DB>
, por exemplo\c GeneDB1
Você deve ver o prompt da chave mudar para o novo banco de dados, assim:
*) Agora que você está em um determinado banco de dados, deseja conhecer os esquemas desse banco de dados. O melhor comando para fazer isso é \dn
.
Outros comandos que também funcionam (mas não tão bons) são select schema_name from information_schema.schemata;
e select nspname from pg_catalog.pg_namespace;
:
-) Agora que você possui os esquemas, deseja conhecer as tabelas desses esquemas. Para isso, você pode usar o dt
comando Por exemplo\dt "GeneSchema1".*
*) Agora você pode fazer suas consultas. Por exemplo:
*) Aqui está a aparência do banco de dados, esquema e tabelas acima no pgAdmin:
A mesma consulta está escrita como abaixo para o prompt de comando psql do postgres.
D: \ TOOLS \ Postgresql-9.4.1-3 \ bin> psql -U postgres -d DatabaseName -h localhost - t -c "Selecione u. \" UserName \ "dos usuários u Onde u. \" UserId \ "= 1;
Não tenho dúvidas sobre a resposta @Grant. Mas, às vezes, enfrento alguns problemas, como se o nome da coluna fosse semelhante a qualquer palavra-chave reservada do postgresql, como natural neste caso, SQL semelhante é difícil de executar a partir da linha de comando, pois "\ natural \" será necessário no campo Consulta. Portanto, minha abordagem é escrever o SQL em um arquivo separado e executá-lo na linha de comando. Isso também tem outra vantagem. Se você precisar alterar a consulta para um script grande, não precisará tocar no arquivo ou comando de script. Altere apenas o arquivo SQL como este
psql -h localhost -d database -U postgres -p 5432 -a -q -f /path/to/the/file.sql
Para tipos específicos de instruções, você pode achar mais apropriado usar Azure Data Studio
- para todo o resto, ele vem com a linha de comando interna. Usando o estúdio, você pode encontrar instruções de digitação e ler a saída mais confortável.
Siga os passos abaixo:
Conecte-se ao seu servidor local ou remoto:
Concentre-se em escrever e executar apenas SQL:
Existem muitos recursos interessantes, como salvar conexões, criar grupos de servidores e até um terminal embutido, se você estiver mais à vontade para executar alguma tarefa via psql
.
--single-line
(ou-s
) que torna todos os comandos imediatos sem a necessidade de adicionar um ponto e vírgula.