Conectando-se com psql
Use psql
para interação direta e monitoramento das estruturas de dados que são criadas no banco de dados. psql
também é útil para testar e monitorar consultas e desempenho, instalar e modificar scripts e outras atividades
de gerenciamento.
O usuário admin
vem com a função padrão PostgreSQL pg_monitor
que permite o acesso às visualizações e funções de monitoramento
PostgreSQL. Por padrão, o usuário admin
não tem permissões sobre objetos criados por outros usuários.
Você deve definir a senha de admin
antes de usá-la para se conectar ao banco de dados. Para obter mais informações, consulte a página Configurando a senha do administrador.
Instalando psql
Para usar o psql
, as ferramentas do cliente PostgreSQL precisam ser instaladas no sistema local. Eles podem ser instalados com o pacote completo PostgreSQL, fornecido por postgresql.org ou como um pacote do gerenciador de pacotes do seu sistema operacional.
Para obter mais informações sobre psql
, consulte a documentação PostgreSQL.
A maioria das instruções para instalar as ferramentas PostgreSQL supõe que você deseja que o banco de dados seja instalado também. É uma suposição razoável se você estiver lidando com usuários que não têm acesso ao PostgreSQL na nuvem ou em um servidor remoto..
Aqui estão as etapas para instalar o psql
como uma ferramenta autônoma no macOS, Linux e no Windows.
Instalando o psql
no macOS com Homebrew
Recomendamos Homebrew como um gerenciador de pacotes para o macOS Com Homebrew, você é capaz de instalar vários aplicativos, geralmente com os programas disponíveis em /usr/local/bin
.
O pacote homebrew para as ferramentas do cliente PostgreSQL é o pacote libpq
. Brew facilita a instalação:
brew install libpq
No entanto, há uma pequena captura: o libpq
não se instalará no diretório /usr/local/bin
. Para fazer isso acontecer, você precisa executar:
brew link --force libpq
Que fará symlink (um arquivo que aponta para outro arquivo ou pasta) todas as ferramentas, não apenas libpq
, no diretório /usr/local/bin
.
Instalação do postgresql-client
no Ubuntu
Os sistemas Linux, ao contrário do macOS, têm um gerenciador de pacotes integrado. Para Ubuntu (e Debian), esse é o comando apt
. O cliente PostgreSQL é distribuído no postgresql-client
de nome apropriado. Para instalá-lo,
execute um comando como:
sudo apt-get install postgresql-client
Isso instalará o cliente PostgreSQL.
Instalação do postgresql-client
no Red Hat Enterprise Linux
Para o Red Hat Enterprise Linux (ou RHEL, como geralmente é escrito), há um pouco mais de configuração do que com o Ubuntu. Para o RHEL, o gerenciador de pacotes é Yum
.
Primeiro, você precisa apontar o Yum
para o repositório PostgreSQL, da seguinte forma:
sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-2.noarch.rpm
Yum
vai para URL e se configura para usar esse repositório de pacotes. Feito isso, você pode adicionar pacotes por nome:
sudo yum install postgresql15
Esse comando instala apenas os pacotes do cliente. Se você estiver se perguntando onde encontrar esse repositório URL, acesse Linux Downloads ( Red Hat Family), onde encontrará um formulário que permitirá que você selecione a versão, a plataforma e a arquitetura PostgreSQL e fornecerá as instruções apropriadas para essa variante Red Hat- que inclui CentOS, Scientific Linux e Oracle Enterprise Linux. Ele também inclui o Fedora. Os repositórios padrão do Fedora já têm um cliente PostgreSQL disponível neles. Portanto, no Fedora 27, 28 e posteriores, instale o cliente PostgreSQL a partir do terminal com:
sudo dnf install postgresql.x86_64
Instalando o psql
no Windows
Para Windows, use o PostgreSQL da Enterprise DB. É um pacote de instalação completo do PostgreSQL no Windows, mas você pode
configurá-lo para instalar apenas as ferramentas de linha de comando, como psql
. Selecione suas versões do PostgreSQL e do Windows. Depois que o arquivo executável for baixado, execute-o. Selecione apenas as Ferramentas de linha de comando,
se você não precisar do servidor instalado.
Após a instalação, você configura suas variáveis de ambiente do Windows para poder usar o cliente psql
no prompt de comando. Vá para o Painel de controle > Sistema e segurança > Sistema e selecione* Configurações avançadas do sistema*. A partir daí, você verá uma caixa chamada Propriedades do sistema. Selecione Variáveis de ambiente. É exibida uma janela com os dois conjuntos de variáveis
de ambiente. No conjunto superior, marcado como "User variables for...", selecione a entrada PATH
e clique no botão Edit. Uma janela de edição será exibida. Clique em New e adicione o caminho
para o cliente psql
. Seu caminho dependerá de onde o PostgreSQL foi instalado, mas normalmente seria:
C:\Program Files\PostgreSQL\<POSTGRES_VERSION>\bin
Depois disso, clique em OK algumas vezes para voltar à área de trabalho. Inicie um novo prompt de comando e você poderá executar psql
.
psql
Sequências de conexões
As cadeias de conexão são exibidas no painel Endpoints da Visão geral da sua implantação e também podem ser recuperadas no plug-in Cloud Databases CLI e na API.
As informações necessárias para estabelecer uma conexão com o psql
estão contidas na seção "cli" das sequências de conexão. A tabela contém um detalhamento para referência.
Nome do campo | Index | Descrição |
---|---|---|
Bin |
O binário recomendado para a criação de uma conexão; nesse caso, psql . |
|
Composed |
Um comando formatado para estabelecer uma conexão com a sua implementação. O comando combina o executável Bin , as configurações da variável Environment e usa Arguments como parâmetros da linha de
comandos. |
|
Environment |
Uma lista de chaves/valores configurados como variáveis de ambiente. | |
Arguments |
0... | As informações transmitidas como argumentos para o comando mostrado no campo Bin. |
Certificate |
Base64 | Um certificado proprietário de serviço usado para confirmar que um aplicativo está se conectando ao servidor apropriado. Ele é codificado em base64. |
Certificate |
Nome | O nome alocado para o certificado de propriedade do serviço. |
Type |
O tipo de pacote que usa essas informações de conexão; neste caso, cli . |
0...
indica que pode haver uma ou mais dessas entradas em uma matriz.
Criando uma Conexão Cliente de Linha de Comandos
Antes de criar uma conexão do cliente da linha de comandos, certifique-se de ter configurado a senha do Administrador para sua implementação
O comando ibmcloud cdb deployment-connections
manipula tudo o que está envolvido na criação de uma conexão do cliente da linha de comandos. Por exemplo, para se conectar a uma implementação denominada "postgres de exemplo",
use o comando a seguir:
ibmcloud cdb deployment-connections <INSTANCE_NAME_OR_CRN> --start
ou
ibmcloud cdb cxn <INSTANCE_NAME_OR_CRN> -s
O comando solicita a senha do administrador e, em seguida, executa o cliente da linha de comandos do psql
para estabelecer a conexão com o banco de dados.
Se você não tiver instalado o plug-in Cloud Databases CLI, conecte-se aos bancos de dados PostgreSQL usando psql
, fornecendo a ele a string de conexão "composed". Ela fornece as variáveis de ambiente PGPASSWORD
e PGSSLROOTCERT
. Defina PGPASSWORD
como a senha do administrador e PGSSLROOTCERT
como o caminho ou o nome do arquivo do certificado de propriedade do serviço.
PGPASSWORD=$PASSWORD PGSSLROOTCERT=0b22f14b-7ba2-11e8-b8e9-568642342d40 psql 'host=4a8148fa-3806-4f9c-b3fc-6467f11b13bd.8f7bfd7f3faa4218aec56e069eb46187.databases.appdomain.cloud port=32325 dbname=ibmclouddb user=admin sslmode=verify-full'
Usando o certificado de propriedade do serviço
- Copie as informações do certificado a partir do painel Terminais ou do campo Base64 das informações de conexão.
- Se necessário, decodifique a sequência Base64 em texto.
- Salve o certificado em um arquivo. (É possível usar o nome fornecido ou o seu próprio nome do arquivo).
- Forneça o caminho do certificado para a variável de ambiente
ROOTCERT
.
É possível exibir o certificado decodificado para sua implementação com o plug-in da CLI com o comando:
ibmcloud cdb deployment-cacert <INSTANCE_NAME_OR_CRN>
O comando decodifica o base64 em texto. Copie e salve a saída do comando em um arquivo e forneça o caminho do arquivo para a variável de ambiente ROOTCERT
.
Outra opção é incluir o &sslrootcert=/path/to/cert
na sua sequência de conexões, por exemplo:
postgres://$USERNAME:$PASSWORD@6eb96148-90bc-49a0-a5a4-dc2b53334653.btdl8mld0r95fevivv30.databases.appdomain.cloud:32109/ibmclouddb?sslmode=verify-full&sslrootcert=/path/to/cert