Comandos psql de Postgres

Resumen de los comandos psql más usados en PostgreSQL 12 para administrar bases de datos desde la consola.

Abre la consola de PostgreSQL con el usuario postgres antes de ejecutar los ejemplos.

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

Publicado: 2 de junio de 2020