Comandos psql de Postgres

Resúmen de los comandos psql más utilizados de PostgreSQL 12 para gestionar bases de datos.

Para ejecutar los siguientes comandos abrimos la consola de postgres.

sudo -u postgres psql
psql (12.3 (Debian 12.3-1.pgdg100+1))
Digite «help» para obtener ayuda.

postgres=# 

Muestra todos los comandos disponibles

\?
General
  \copyright      mostrar términos de uso y distribución de PostgreSQL
  \crosstabview [COLUMNAS] ejecutar la consulta y desplegar en «crosstab»
  \errverbose     mostrar error más reciente en máxima verbosidad
  \g [ARCH] o ;   enviar búfer de consulta al servidor
                  (y resultados a archivo u |orden)
...

Lista las bases de datos

\l
                                Listado de base de datos
  Nombre   |  Dueño   | Codificación |   Collate   |    Ctype    |      Privilegios      
-----------+----------+--------------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8         | es_BO.UTF-8 | es_BO.UTF-8 | 
 template0 | postgres | UTF8         | es_BO.UTF-8 | es_BO.UTF-8 | =c/postgres          +
           |          |              |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8         | es_BO.UTF-8 | es_BO.UTF-8 | =c/postgres          +
           |          |              |             |             | postgres=CTc/postgres
 testdb    | postgres | UTF8         | es_BO.UTF-8 | es_BO.UTF-8 | 
(4 filas)

Crea una base de datos de prueba

CREATE DATABASE testdb;
CREATE DATABASE

Conexión con una base de datos

\c testdb
Ahora está conectado a la base de datos «testdb» con el usuario «postgres».
testdb=# 

Creación de tablas

CREATE TABLE company (
   id INT PRIMARY KEY     NOT NULL,
   name           TEXT    NOT NULL,
   age            INT     NOT NULL,
   address        CHAR(50),
   salary         REAL
);
CREATE TABLE
CREATE TABLE department (
   id INT PRIMARY KEY      NOT NULL,
   dept           CHAR(50) NOT NULL,
   emp_id         INT      NOT NULL
);
CREATE TABLE

Lista las tablas

\d
          Listado de relaciones
 Esquema |   Nombre   | Tipo  |  Dueño   
---------+------------+-------+----------
 public  | company    | tabla | postgres
 public  | department | tabla | postgres
(2 filas)

Lista las columnas

\d company
                     Tabla «public.company»
 Columna |     Tipo      | Ordenamiento | Nulable  | Por omisión 
---------+---------------+--------------+----------+-------------
 id      | integer       |              | not null | 
 name    | text          |              | not null | 
 age     | integer       |              | not null | 
 address | character(50) |              |          | 
 salary  | real          |              |          | 
Índices:
    "company_pkey" PRIMARY KEY, btree (id)

Referencias

Published: June 2, 2020