O povo ucraniano está a lutar pelo seu país. Muitos civis, mulheres e crianças, estão sofrendo. Centenas de pessoas foram mortas e feridas e milhares foram deslocadas.
Esta é uma imagem da minha cidade natal, Kharkiv. Este lugar fica bem no centro antigo da cidade.
Foto de @fomenko_ph (Telegrama).
Por favor, considere doar ou ser voluntário.
https://bank.gov.ua/en/
https://savelife.in.ua/en/donate/
https://www.comebackalive.in.ua/donate
https://www.globalgiving.org/projects/ukraine-crisis-relief-fund/
https://www.savethechildren.org/us/where-we-work/ukraine
https://www.facebook.com/donate/1137971146948461/
https://donate.wck.org/give/393234#!/donation/checkout
https://atlantaforukraine.com/
Este é um cliente postgres que realiza preenchimento automático e realce de sintaxe.
Página inicial: http://pgcli.com
Equivalente ao MySQL: http://mycli.net
Se você já sabe como instalar pacotes python, basta fazer:
$ pip instalar -U pgcli ou $ sudo apt-get install pgcli # Somente em Linux baseado em Debian (por exemplo, Ubuntu, Mint, etc) $ brew install pgcli # Somente no macOS
Se você não sabe como instalar pacotes python, verifique as instruções detalhadas.
$ pgcli [nome_do_banco_de_dados] ou $ pgcli postgresql://[usuário[:senha]@][netloc][:porta][/dbname][?extra=valor[&other=outro-valor]]
Exemplos:
$ pgcli banco de dados_local $ pgcli postgres://amjith:[email protected]:5432/app_db?sslmode=verify-ca&sslrootcert=/myrootcert
Para mais detalhes:
$ pgcli --ajuda Uso: pgcli [OPÇÕES] [DBNAME] [NOME DE USUÁRIO] Opções: -h, --host TEXT Endereço do host do banco de dados postgres. -p, --port INTEGER Número da porta na qual a instância do postgres está audição. -U, --username TEXT Nome de usuário para conectar-se ao banco de dados postgres. -u, --user TEXT Nome de usuário para conectar-se ao banco de dados postgres. -W, --password Força o prompt de senha. -w, --no-password Nunca solicita senha. --single-connection Não use uma conexão separada para conclusões. -v, --version Versão do pgcli. -d, --dbname TEXT nome do banco de dados ao qual se conectar. --pgclirc FILE Localização do arquivo pgclirc. -D, --dsn TEXT Use DSN configurado na seção [alias_dsn] do arquivo pgclirc. --list-dsn lista de DSN configurados em [alias_dsn] seção do arquivo pgclirc. --row-limit INTEIRO Define limite para prompt de limite de linha. Use 0 para desabilitar prompt. --less-chatty Pular a introdução na inicialização e adeus na saída. --prompt Formato de prompt de TEXTO (Padrão: "u@h:d> "). --prompt-dsn TEXTO Formato de prompt para conexões usando aliases DSN (Padrão: "u@h:d> "). -l, --list lista os bancos de dados disponíveis e sai. --auto-vertical-output Muda automaticamente para o modo de saída vertical se o resultado é mais largo que a largura do terminal. --warn [all|moderate|off] Avisa antes de executar uma consulta destrutiva. --help Mostre esta mensagem e saia.
pgcli
também suporta muitas das mesmas variáveis de ambiente que psql
para opções de login (por exemplo, PGHOST
, PGPORT
, PGUSER
, PGPASSWORD
, PGDATABASE
).
As variáveis de ambiente relacionadas ao SSL também são suportadas, portanto, se você precisar conectar um banco de dados postgres via conexão SSL, poderá definir o ambiente como este:
exportar PGSSLMODE = "verificar completo" exportar PGSSLCERT="/seu-caminho-para-certs/client.crt" exportar PGSSLKEY="/seu-caminho-para-chaves/client.key" exportar PGSSLROOTCERT="/seu-caminho-para-ca/ca.crt" pgcli -h localhost -p 5432 -U nome de usuário postgres
O pgcli é escrito usando prompt_toolkit.
Completa automaticamente conforme você digita palavras-chave SQL, bem como tabelas e colunas no banco de dados.
Destaque de sintaxe usando Pygments.
O preenchimento inteligente (ativado por padrão) sugerirá o preenchimento sensível ao contexto.
SELECT * FROM <tab>
mostrará apenas nomes de tabelas.
SELECT * FROM users WHERE <tab>
mostrará apenas nomes de colunas.
Suporte primitivo para comandos de barra invertida psql
.
Pretty imprime dados tabulares.
Um arquivo de configuração é criado automaticamente em ~/.config/pgcli/config
na primeira inicialização. Consulte o próprio arquivo para obter uma descrição de todas as opções disponíveis.
Se você estiver interessado em contribuir para este projeto, antes de mais nada gostaria de expressar minha sincera gratidão. Escrevi um pequeno documento para descrever como fazer isso funcionar em uma configuração de desenvolvimento.
https://github.com/dbcli/pgcli/blob/master/DEVELOP.rst
Fique à vontade para entrar em contato conosco se precisar de ajuda. * Amjith, autor do pgcli: [email protected], Twitter: @amjithr * Irina, mantenedora do pgcli: [email protected], Twitter: @irinatruong
A maneira mais fácil de instalar o pgcli é usando o Homebrew.
$ brew instalar pgcli
Feito!
Alternativamente, você pode instalar pgcli
como um pacote python usando um gerenciador de pacotes chamado pip
. Você precisará do postgres instalado em seu sistema para que isso funcione.
Guia detalhado de primeiros passos para pip
- https://pip.pypa.io/en/latest/installation/
$ qual pip
Se estiver instalado, você pode fazer:
$ pip instalar pgcli
Se isso falhar devido a problemas de permissão, talvez seja necessário executar o comando com permissões sudo.
$ sudo pip instalar pgcli
Se o pip não estiver instalado, verifique se easy_install está disponível no sistema.
$ que easy_install $ sudo easy_install pgcli
Guia detalhado de primeiros passos para pip
- https://pip.pypa.io/en/latest/installation/
Verifique se o pip já está disponível em seu sistema.
$ qual pip
Se não existir, use seu gerenciador de pacotes Linux para instalar o pip. Isso pode ser algo como:
$ sudo apt-get install python-pip # Debian, Ubuntu, Mint etc. ou $ sudo yum install python-pip # RHEL, Centos, Fedora etc.
pgcli
requer pacotes python-dev, libpq-dev e libevent-dev. Você pode instalá-los por meio do gerenciador de pacotes do sistema operacional.
$ sudo apt-get install python-dev libpq-dev libevent-dev ou $ sudo yum instalar python-devel postgresql-devel
Então você pode instalar o pgcli:
$ sudo pip instalar pgcli
Pgcli pode ser executado no Docker. Isso pode ser útil para testar o pgcli sem instalá-lo ou qualquer dependência em todo o sistema.
Para construir a imagem:
$ docker build -t pgcli.
Para criar um contêiner a partir da imagem:
$ docker run --rm -ti pgcli pgcli <ARGS>
Para acessar bancos de dados postgresql escutando em localhost, certifique-se de executar a janela de encaixe no "modo host net". Por exemplo, para acessar um banco de dados chamado "foo" no servidor postgresql rodando em localhost:5432 (a porta padrão):
$ docker run --rm -ti --net host pgcli pgcli -h localhost foo
Para se conectar a uma instância em execução localmente por meio de um soquete Unix, vincule o soquete ao contêiner do Docker:
$ docker run --rm -ti -v /var/run/postgres:/var/run/postgres pgcli pgcli foo
Pgcli pode ser executado no console IPython. Ao trabalhar em uma consulta, pode ser útil entrar em uma sessão do pgcli sem sair do console do IPython, iterar em uma consulta e, em seguida, sair do pgcli para encontrar os resultados da consulta em seu espaço de trabalho do IPython.
Supondo que você tenha o IPython instalado:
$ pip instalar ipython-sql
Depois disso, execute o ipython e carregue a extensão pgcli.magic
:
$ipython Em [1]: %load_ext pgcli.magic
Conecte-se a um banco de dados e construa uma consulta:
Em [2]: %pgcli postgres://someone@localhost:5432/world Conectado: alguém@mundo alguém@localhost:mundo> selecione * da cidade c onde código do país = 'EUA' e população > 1000000; +------+--------------+---------------+----------- ---+--------------+ | identificação | nome | código do país | distrito | população | |------+-------------+---------------+----------- ---+-------------| | 3793 | Nova Iorque | EUA | Nova Iorque | 8008278 | | 3794 | Los Angeles | EUA | Califórnia | 3694820 | | 3795 | Chicago | EUA | Illinois | 2896016 | | 3796 | Houston | EUA | Texas | 1953631 | | 3797 | Filadélfia | EUA | Pensilvânia | 1517550 | | 3798 | Fênix | EUA | Arizona | 1321045 | | 3799 | São Diego | EUA | Califórnia | 1223400 | | 3800 | Dallas | EUA | Texas | 1188580 | | 3801 | Santo Antônio | EUA | Texas | 1144646 | +------+--------------+---------------+----------- ---+--------------+ SELECIONE 9 Tempo: 0,003s
Saia da sessão pgcli com Ctrl + D
e encontre os resultados da consulta:
alguém@localhost:mundo> Adeus! 9 linhas afetadas. Fora[2]: [(3793, u'Nova York', u'EUA', u'Nova York', 8008278), (3794, u'Los Angeles', u'EUA', u'Califórnia', 3694820), (3795, u'Chicago', u'EUA', u'Illinois', 2896016), (3796, u'Houston', u'EUA', u'Texas', 1953631), (3797, u'Filadélfia', u'EUA', u'Pensilvânia', 1517550), (3798, u'Phoenix', u'EUA', u'Arizona', 1321045), (3799, u'San Diego', u'EUA', u'Califórnia', 1223400), (3800, u'Dallas', u'EUA', u'Texas', 1188580), (3801, u'San Antonio', u'EUA', u'Texas', 1144646)]
Os resultados estão disponíveis em uma variável local especial _
e podem ser atribuídos a uma variável de sua escolha:
Em [3]: meu_resultado = _
Pgcli abandonou o suporte para Python<3.8 a partir de 4.0.0. Se precisar, instale pgcli <= 4.0.0
.
Um agradecimento especial a Jonathan Slenders por criar o Python Prompt Toolkit, que é literalmente a biblioteca backbone que tornou este aplicativo possível. Jonathan também forneceu feedback e suporte valiosos durante o desenvolvimento deste aplicativo.
Click é usado para analisar opções de linha de comando e imprimir mensagens de erro.
Obrigado ao psycopg por fornecer uma interface sólida para o banco de dados Postgres.
Obrigado a todos os testadores beta e colaboradores pelo seu tempo e paciência. :)