postgresql

postgresql conecta con PostgreSQL, inspecciona tablas y filas, hace cambios puntuales, exporta datos, ejecuta SQL nativo y crea copias lógicas.

Base de datosVersión 1.1.3Estable
lil-terminal

Resumen

Use postgresql con un flujo coherente: contraseña oculta, inspección de esquema y filas, cambios puntuales, exportación, SQL nativo y copias lógicas sin herramientas de shell.

PostgreSQL sin aplanar su modelo

PostgreSQL es una base relacional cliente-servidor con tipado fuerte, transacciones y un lenguaje SQL nativo muy rico. Una base puede contener schemas y estos contienen tablas y otros objetos, de modo que “schema” también es un espacio de nombres. La superficie corta cubre tareas habituales y : permite usar capacidades propias de PostgreSQL.

Sintaxis

lil-terminal
postgresql [options] · postgresql : <sql>

Referencia

postgresql

mostrar la conexión PostgreSQL actual

postgresql -c <host> <user> [database] [-p <port>] [-n] [-m [name]]

conectarse; la contraseña se solicita por separado salvo que se use -n

-use <database>

seleccionar otra base de datos reconectando

-l

listar bases de datos

-t

listar tablas y vistas públicas

-s <table>

mostrar columnas y tipos de datos

-n <table> [rows]

previsualizar filas de una tabla

-f <table> <text> [rows]

buscar texto en las columnas de una tabla

-o <table> [-j|-csv] [file] [-f]

exportar filas de una tabla

-a <table> : <json>

insertar una fila desde un objeto JSON

-w <table> <field> <value> : <json>

actualizar las filas coincidentes desde un objeto JSON

-d <table> <field> <value>

eliminar las filas coincidentes

-m [name]

guardar la conexión actual en .lil.key; usar por defecto el nombre de la base

-M <name>

eliminar una conexión guardada

-k [name]

listar conexiones guardadas o inspeccionar una sin mostrar su contraseña

-K <name>

conectar usando una conexión guardada

-e

desconectarse y borrar los datos de conexión

postgresql : <sql>

ejecutar SQL nativo

postgresql load <file.sql|file.json>

ejecutar SQL o restaurar un volcado JSON lógico de lil

postgresql dump [file.json] [-f]

crear un volcado JSON lógico de las tablas públicas

Modelo de trabajo

Las operaciones de inspección y edición puntual usan los mismos atajos que los drivers relacionales.

Copias y restauración

Sin invocar pg_dump, dump crea una instantánea JSON lógica de tablas public; para copias completas use las herramientas nativas de PostgreSQL.

Seguridad

Todo se ejecuta con los privilegios del usuario conectado.

El volcado JSON de lil contiene solo datos y no recrea objetos de esquema ni índices. La restauración JSON es transaccional; las exportaciones o volcados de una tabla con más de 100000 filas se rechazan.

Conexiones guardadas

Sin -m, los datos de conexión permanecen limitados a la sesión PHP actual. -m [name] guarda explícitamente el perfil en el archivo protegido .lil.key (0600), -K <name> vuelve a conectar con él, -k lista o inspecciona perfiles sin revelar una contraseña guardada y -M <name> elimina uno. kill elimina .lil.key junto con el resto del estado del núcleo. Trate el archivo como sensible porque un perfil guardado de forma voluntaria puede contener credenciales de base de datos.

Vista interactiva del sandbox

Ejecuta los ejemplos preparados directamente en la página. Los resultados están predefinidos y se muestran en el navegador; no se ejecuta ningún comando de terminal en el servidor.

Inspeccionar una tabla PostgreSQL

Instalar y administrar

Instala la versión compatible actual. Elige Base para el conjunto completo de funciones o Minimum para el paquete reducido; usa upgrade para actualizar un módulo ya instalado.

Base y Minimum son dos paquetes de la misma versión actual del módulo.

Paquete Base

Instala el paquete completo con referencia local y todos los modos publicados.

install postgresql
Paquete Minimum

Instalar el paquete reducido. No incluye la referencia local; help <cmd> -i abre la referencia actual del servidor.

install postgresql -m
Versión pública exacta

Instalar exactamente esta versión publicada.

install postgresql -v 1.1.3
Comprobar o actualizar

upgrade comprueba la compatibilidad y sustituye el bloque solo cuando hace falta.

upgrade postgresql
Eliminar módulo

Elimina el bloque de extensión sin tocar el núcleo ni otros módulos.

install postgresql -u

Ejemplos

Los ejemplos se pueden copiar, pero el sitio no los ejecuta. Revisa rutas, permisos y opciones destructivas.

Inspeccionar una tabla PostgreSQL
postgresql -use shop | postgresql -t | postgresql -n products 5
Database  shop

products
orders

id	sku	name	category	price	active
1	SHOE-1	City shoe	shoes	79.90	t
2	SHOE-2	Trail shoe	shoes	109.00	t
Postgresql · localhost
postgresql -c localhost app shop
Status    connected
Server    PostgreSQL 17
Host      localhost:5432
User      app
Database  shop
Postgresql · -l
postgresql -l
postgres
shop
template1
Postgresql · products
postgresql -s products
Column    Type           Nullable
id        bigint         no
sku       text           no
name      text           no
category  text           no
price     numeric(10,2)  no
active    boolean        no
Postgresql · products
postgresql -f products "shoe" 20
id	sku	name	category	price
1	SHOE-1	City shoe	shoes	79.90
2	SHOE-2	Trail shoe	shoes	109.00
Postgresql · products
postgresql -o products -j products.json
Saved  products.json
Postgresql · products
postgresql -a products : {"sku":"BAG-1","name":"Travel bag","price":49.90}
Inserted  1
Postgresql · products
postgresql -w products sku BAG-1 : {"price":44.90}
Updated  1
Postgresql · products
postgresql -d products sku BAG-1
Deleted  1
Postgresql · select
postgresql : SELECT COUNT(*) AS products FROM products
products
4
Postgresql · dump
postgresql dump shop.json
Saved  shop.json
Postgresql · load
postgresql load \sandbox\db\postgresql.sql
Affected  2
Time      2 ms
Postgresql · -e
postgresql -e
+
Gestionar una tabla ausente
postgresql -s missing_table
Tabla no encontrada: missing_table

Archivo usado en este ejemplo: sandbox/db/postgresql.sql

El ejemplo usa un archivo o directorio del espacio protegido de documentación /sandbox/.

CREATE TABLE products (id BIGSERIAL PRIMARY KEY, sku text UNIQUE NOT NULL, name text NOT NULL, category text NOT NULL, price numeric(10,2) NOT NULL, active boolean NOT NULL DEFAULT true);
INSERT INTO products(sku,name,category,price,active) VALUES ('SHOE-1','City shoe','shoes',79.90,true),('BAG-1','Canvas bag','bags',44.50,true);

Documentación relacionada

Versión pública actual

v1.1.32026-08-14

Conexiones guardadas

Añade perfiles explícitos -m/-M/-k/-K en .lil.key; los listados nunca revelan una contraseña guardada.