IBM Cloud Docs
Conectando-se com psql

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_monitorque 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.

informações de conexão psql/cli
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

  1. Copie as informações do certificado a partir do painel Terminais ou do campo Base64 das informações de conexão.
  2. Se necessário, decodifique a sequência Base64 em texto.
  3. Salve o certificado em um arquivo. (É possível usar o nome fornecido ou o seu próprio nome do arquivo).
  4. 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