Conexión con psql
Utilice psql para la interacción directa y la supervisión de las estructuras de datos que se crean en la base de datos. psql también es útil para probar y supervisar consultas y rendimiento, instalar y modificar scripts
y otras actividades de gestión.
El usuario admin es miembro del rol predefinido de PostgreSQLpg_monitor, lo que le permite acceder
a las vistas y funciones de supervisión de PostgreSQL. Por defecto, el usuario admin no tiene permisos sobre los objetos creados por los usuarios que se crean mediante comandos SQL.
Debes configurar la contraseña admin antes de utilizarla para conectarte a la base de datos. Para obtener más información, consulte la página Configuración de la contraseña de administrador.
Instalación del psql
Para utilizarlo psql, instala las herramientas de cliente de PostgreSQL en tu sistema local. Puedes instalarlos desde la página de descargas de PostgreSQL o mediante el gestor de paquetes de tu sistema operativo.
Para obtener más información al respecto psql, consulta la documentación de PostgreSQL.
La mayoría de las instrucciones para instalar las herramientas PostgreSQL presuponen que también desea que se instale la base de datos. Es una suposición razonable si está tratando con usuarios que no tienen acceso a PostgreSQL en la nube o en un servidor remoto.
Estos son los pasos para instalar psql como herramienta independiente en macOS, Linux y Windows.
Instalación de psql en macOS con Homebrew
Se recomienda Homebrew como gestor de paquetes para macOS. Con Homebrew, usted es capaz de instalar numerosas aplicaciones, por lo general con los programas disponibles en /usr/local/bin.
El paquete de homebrew para las herramientas de cliente PostgreSQL es el paquete libpq. Brew hace que sea fácil de instalar:
brew install libpq
Sin embargo, hay una pequeña captura: libpq no se instalará en el directorio /usr/local/bin. Para que esto suceda, debe ejecutar:
brew link --force libpq
Que se symlink (un archivo que apunta a otro archivo o carpeta) todas las herramientas, no sólo libpq, en el directorio /usr/local/bin.
Instalando postgresql-client en Ubuntu
Los sistemas Linux, a diferencia de macOS, tienen un gestor de paquetes integrado. Para Ubuntu (y Debian) es el comando apt. El cliente PostgreSQL se distribuye en el appositamente llamado postgresql-client. Para
instalarlo, ejecuta un comando como:
sudo apt-get install postgresql-client
Esto instalará el cliente PostgreSQL.
Instalación de psql en Red Hat Enterprise Linux
Sigue las instrucciones de instalación de PostgreSQL para distribuciones basadas en Red Hat. Selecciona tu versión de PostgreSQL, la plataforma
y la arquitectura, y ejecuta los comandos que configuran el repositorio. A continuación, instala solo el paquete de cliente, por ejemplo sudo dnf install -y postgresql18. No es necesario instalar, inicializar ni iniciar un servidor
de PostgreSQL para conectarse a su implementación.
Instalación de psql en Windows
Para Windows, utilice el instalador PostgreSQL de Enterprise DB. Es un paquete de instalación completo para PostgreSQL en Windows
pero puedes configurarlo para que sólo instale las herramientas de línea de comandos como psql. Seleccione sus versiones de PostgreSQL y Windows. Una vez descargado el archivo ejecutable, ejecútelo. Seleccione sólo Herramientas de línea de comandos,
si no necesita el servidor instalado.
Después de instalarlo, configura las variables de entorno de Windows para poder utilizar el cliente psql en el símbolo del sistema. Vaya al Panel de control > Sistema y seguridad > Sistema y seleccioneConfiguración avanzada del sistema. Desde ahí verás un cuadro llamado Propiedades del sistema. Seleccione Variables de entorno. Aparece una ventana con los dos conjuntos de variables
de entorno. En el conjunto superior, marcado "Variables de usuario para...", seleccione la entrada PATH y, a continuación, haga clic en el botón Editar. Aparecerá una ventana de edición. Haga clic
en Nuevo y añada la ruta al cliente psql. Su ruta dependerá de donde PostgreSQL instalado, pero normalmente sería:
C:\Program Files\PostgreSQL\<POSTGRES_VERSION>\bin
Después, pulsa OK un par de veces para volver al escritorio. Inicie un nuevo símbolo del sistema y debería poder ejecutar psql.
psql Series de conexión
Las cadenas de conexión se muestran en el panel Endpoints (Puntos de conexión) de la vista general de su implementación, y también se pueden obtener a través del complemento de la CLI de Cloud Databases, así como de la API.
La información que necesita para establecer una conexión con psql está en la sección "cli" de las series de conexión. La tabla contiene un desglose para referencia.
| Nombre de campo | Índice | Descripción |
|---|---|---|
Bin |
El binario recomendado para crear una conexión; en este caso es psql. |
|
Composed |
Un mandato con formato para establecer una conexión con el despliegue. El mandato combina el ejecutable Bin, los valores de la variable Environment y utiliza Arguments como parámetros de línea de
mandatos. |
|
Environment |
Una lista de claves/valores que ha establecido como variables de entorno. | |
Arguments |
0... | La información que se pasa como argumentos al mandato que se muestra en el campo Bin. |
Certificate |
Base64 | Un certificado propio del servicio que se utiliza para confirmar que una aplicación se está conectando al servidor adecuado. Está codificado en base64. |
Certificate |
Nombre | El nombre asignado al certificado propio del servicio. |
Type |
El tipo de paquete que utiliza esta información de conexión; en este caso cli. |
0...indica que puede haber una o varias de estas entradas en una matriz.
Creación de una conexión de cliente de línea de mandatos
Antes de crear una conexión de cliente de línea de mandatos, asegúrese de que ha establecido la contraseña de administrador para el despliegue.
El mandato ibmcloud cdb deployment-connections gestiona todo lo relacionado con la creación de una conexión de cliente de línea de mandatos. Por ejemplo, para conectarse a un despliegue denominado "example-postgres", utilice
el mandato siguiente:
ibmcloud cdb deployment-connections <INSTANCE_NAME_OR_CRN> --start
o
ibmcloud cdb cxn <INSTANCE_NAME_OR_CRN> -s
El mandato solicita la contraseña de administrador y, a continuación, ejecuta el cliente de línea de mandatos de psql para conectarse a la base de datos.
Si aún no has instalado el complemento de la CLI de Cloud Databases, conéctate a tus bases de datos PostgreSQL utilizando psql y proporcionándole la cadena de conexión compuesta. Proporciona variables de entorno PGPASSWORD y PGSSLROOTCERT. Establezca PGPASSWORD en la contraseña de administrador y PGSSLROOTCERT en la ruta o el nombre del archivo del certificado propio del servicio.
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'
Conexión a implementaciones únicamente con puntos de acceso privados
Para implementaciones que utilicen únicamente puntos de conexión privados, especifique el tipo de punto de conexión al recuperar la información de conexión con la CLI de IBM Cloud®:
ibmcloud cdb cxn <INSTANCE_NAME_OR_CRN> -s -e private
La opción -e private devuelve los detalles de conexión del punto final privado. Solo se puede acceder a los puntos de conexión privados desde recursos de IBM Cloud con conectividad a una red privada, como una VPC, Cloud VPN o Cloud
Shell.
Utilización del certificado propietario del servicio
- Copie la información del certificado del panel Puntos finales o del campo Base64 de la información de conexión.
- Si es necesario, decodifique la serie Base64 en texto.
- Guarde el certificado en un archivo. (Puede utilizar el Nombre que se proporciona o un nombre de archivo de su elección).
- Proporcione a la variable de entorno
ROOTCERTla vía de acceso al certificado.
Puede mostrar el certificado decodificado para el despliegue con el plugin de CLI con el mandato:
ibmcloud cdb deployment-cacert <INSTANCE_NAME_OR_CRN>
El mandato decodifica base64 en texto. Copie y guarde la salida del mandato en un archivo y proporcione la vía de acceso del archivo a la variable de entorno ROOTCERT.
Otra opción es añadir &sslrootcert=/path/to/cert a la serie de conexión, por ejemplo:
postgres://$USERNAME:$PASSWORD@6eb96148-90bc-49a0-a5a4-dc2b53334653.btdl8mld0r95fevivv30.databases.appdomain.cloud:32109/ibmclouddb?sslmode=verify-full&sslrootcert=/path/to/cert