postgresql

postgresql подключается к PostgreSQL, показывает таблицы и строки, выполняет точечные изменения, экспортирует данные, запускает нативный SQL и создаёт логические резервные копии.

База данныхВерсия 1.1.4Стабильная
lil-terminal

Обзор

Используйте postgresql для единого рабочего процесса PostgreSQL: скрытый ввод пароля, просмотр схем и строк, точечные изменения, выгрузка, нативный SQL и логические резервные копии без системной оболочки.

PostgreSQL без упрощения его модели

PostgreSQL — клиент-серверная реляционная СУБД со строгими типами, транзакциями и богатым собственным SQL. Внутри базы могут существовать схемы, а уже в них таблицы и другие объекты, поэтому здесь схема означает ещё и пространство имён базы, а не только описание столбцов. Короткий набор команд удобен для просмотра и типовых изменений, а специфичные возможности PostgreSQL доступны через :.

Синтаксис

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

Справочник

postgresql

показать текущее подключение PostgreSQL

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

подключиться; пароль запрашивается отдельно, если не указан -n

-use <database>

выбрать другую базу данных с переподключением

-l

показать базы данных

-t

показать публичные таблицы и представления

-s <table>

показать столбцы и типы данных

-n <table> [rows]

показать несколько строк таблицы

-f <table> <text> [rows]

найти текст по столбцам таблицы

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

выгрузить строки таблицы

-a <table> : <json>

добавить строку из JSON-объекта

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

изменить совпавшие строки из JSON-объекта

-d <table> <field> <value>

удалить совпавшие строки

-m [name]

сохранить текущее подключение в .lil.key; по умолчанию использовать имя базы

-M <name>

удалить сохранённое подключение

-k [name]

показать сохранённые подключения или сведения об одном без вывода пароля

-K <name>

подключиться через сохранённое подключение

-e

отключиться и удалить данные подключения

postgresql : <sql>

выполнить нативный SQL

postgresql load <file.sql|file.json>

выполнить SQL или восстановить логический JSON-дамп lil

postgresql dump [file.json] [-f]

создать логический JSON-дамп публичных таблиц

Начните с безопасного просмотра

Начните с postgresql -c localhost demo shop: пароль вводится отдельно, а не в истории команд. -t покажет таблицы, -s products — столбцы, -n products 2 — две строки, -f products shoe 2 — поиск. Если простых флагов мало, после : можно выполнить SQL, например SELECT. -o products -csv tmp/products.csv сохранит таблицу в CSV.

Перед изменением данных

-a добавляет запись, -w изменяет все совпавшие строки, -d удаляет все совпадения. Сначала проверьте выборку и сделайте копию. dump создаёт JSON-снимок данных из public-таблиц, но **не заменяет** pg_dump: схемы, индексы, роли и расширения не восстанавливаются. load принимает этот JSON для уже созданных таблиц или SQL-файл. Для настоящего подключения нужны сервер PostgreSQL и расширение PHP pgsql; ответы примеров учебные.

Просмотр и изменение

-l показывает базы, -t — public-таблицы и представления, -s — определения столбцов, -n — строки, -f — текстовый поиск по одной таблице, -o — JSON/CSV. -a, -w и -d предназначены для небольших точечных изменений; сложные операции выполняйте SQL.

Дамп и восстановление

Поскольку lil принципиально не запускает системный pg_dump, dump создаёт логический JSON-снимок строк public-таблиц, а load умеет восстановить этот формат или выполнить SQL-файл. Для полного резервирования схем, расширений, ролей и кластерных объектов используйте штатные инструменты PostgreSQL на стороне сервера.

Подключение и безопасность

Пароль -c запрашивается вне истории. -use переподключает текущую сессию к другой базе. Все операции выполняются с правами подключённого пользователя PostgreSQL.

JSON-дамп lil содержит только данные и не воссоздаёт объекты схемы и индексы. JSON-восстановление выполняется транзакционно; выгрузка или дамп таблицы больше 100000 строк отклоняются.

Сохранённые подключения

Без -m данные подключения остаются только в текущей PHP-сессии. -m [name] явно сохраняет профиль в защищённом файле .lil.key (0600), -K <name> подключается через него повторно, -k показывает список или сведения о профиле без вывода сохранённого пароля, а -M <name> удаляет профиль. kill удаляет .lil.key вместе с остальным состоянием ядра. Относитесь к файлу как к чувствительному: добровольно сохранённый профиль может содержать доступы к базе данных.

Интерактивный пример из `/sandbox/`

Запускайте подготовленные примеры прямо на странице. Результат заранее сформирован и показывается в браузере; команды терминала на сервере не выполняются.

Посмотреть таблицу PostgreSQL

Установка и управление

Устанавливайте актуальную совместимую версию. Для полного набора возможностей выбирайте Base, для сокращённого — Minimum; уже установленный модуль обновляет команда upgrade.

Base и Minimum — два пакета одного текущего релиза модуля, а не разные версии команды.

Пакет Base

Установить полный пакет с локальной справкой и всеми опубликованными режимами.

install postgresql
Пакет Minimum

Установить сокращённый пакет без локальной справки; help <cmd> -i открывает актуальную серверную справку.

install postgresql -m
Точная публичная версия

Установить именно эту опубликованную версию.

install postgresql -v 1.1.4
Проверить или обновить

Поручить upgrade проверить совместимость и заменить установленный блок только при необходимости.

upgrade postgresql
Удалить модуль

Удалить блок расширения, не затрагивая ядро и остальные модули.

install postgresql -u

Примеры

Примеры можно копировать, но сайт их не выполняет. Перед запуском на реальном проекте проверьте пути, права и разрушающие флаги.

Посмотреть таблицу PostgreSQL
postgresql
Учебный пример — без подключения к серверу
A connection is required; the status view names the server and selected database.
Postgresql · localhost
postgresql -c localhost demo shop -n
Учебный пример — без подключения к серверу
Connection example: server and database will be shown after a successful connection.
Postgresql · localhost
postgresql -c localhost demo shop
Учебный пример — без подключения к серверу
Password is requested separately; selected database: shop.
Postgresql · localhost
postgresql -c localhost demo shop -p 5433 -n
Учебный пример — без подключения к серверу
Connection example: server and database will be shown after a successful connection.
Выбрать другую базу данных с переподключением
postgresql -use shop
Учебный пример — без подключения к серверу
Selected database: shop (requires an active connection)
Показать базы данных
postgresql -l
Учебный пример — без подключения к серверу
postgres
shop
Показать публичные таблицы и представления
postgresql -t
Учебный пример — без подключения к серверу
products  BASE TABLE
Показать столбцы и типы данных
postgresql -s products
Учебный пример — без подключения к серверу
column_name  data_type
id  bigint
sku  text
name  text
category  text
price  numeric
active  boolean
Показать несколько строк таблицы
postgresql -n products 2
Учебный пример — без подключения к серверу
sku=SHOE-1  name=City shoe  category=shoes  price=79.9  active=True
sku=BAG-1  name=Canvas bag  category=bags  price=44.5  active=True
Найти текст по столбцам таблицы
postgresql -f products shoe 2
Учебный пример — без подключения к серверу
sku=SHOE-1  name=City shoe  category=shoes  price=79.9  active=True
Выгрузить строки таблицы
postgresql -o products -j
Учебный пример — без подключения к серверу
[
  {
    "sku": "SHOE-1",
    "name": "City shoe",
    "category": "shoes",
    "price": 79.9,
    "active": true
  },
  {
    "sku": "BAG-1",
    "name": "Canvas bag",
    "category": "bags",
    "price": 44.5,
    "active": true
  }
]
Postgresql · products
postgresql -o products -csv tmp/products.csv
Учебный пример — без подключения к серверу
Saved  sandbox/tmp/products.csv (if the destination does not exist)
Postgresql · products
postgresql -o products -j tmp/products.json -f
Учебный пример — без подключения к серверу
Saved  sandbox/tmp/products.json (replace existing file only with -f)
Обработать отсутствующую таблицу
postgresql -a products : {"sku":"NEW-1","name":"Sample","category":"test","price":5,"active":true}
Учебный пример — без подключения к серверу
Inserted  1 (example with a fresh, isolated copy)
Изменить совпавшие строки из JSON-объекта
postgresql -w products sku SHOE-1 : {"price":75}
Учебный пример — без подключения к серверу
Updated  1 (illustrative single matching row)
Удалить совпавшие строки
postgresql -d products sku SHOE-1
Учебный пример — без подключения к серверу
Deleted  1 (example only; all matches would be affected)
Выполнить нативный SQL
postgresql : SELECT COUNT(*) AS total FROM products
Учебный пример — без подключения к серверу
total
2
Создать логический JSON-дамп публичных таблиц
postgresql dump tmp/shop-pg.json
Учебный пример — без подключения к серверу
Saved  sandbox/tmp/shop-pg.json
Format  lil-postgresql-json (logical data export, not server backup)
Postgresql · dump
postgresql dump tmp/shop-pg.json -f
Учебный пример — без подключения к серверу
Saved  sandbox/tmp/shop-pg.json
Format  lil-postgresql-json (logical data export, not server backup)
Выполнить SQL или восстановить логический JSON-дамп lil
postgresql load db/postgresql.sql
Учебный пример — без подключения к серверу
SQL/JSON import requires an existing schema; running the supplied CREATE TABLE twice causes a conflict.
Выполнить SQL или восстановить логический JSON-дамп lil
postgresql load tmp/shop-pg.json
Учебный пример — без подключения к серверу
SQL/JSON import requires an existing schema; running the supplied CREATE TABLE twice causes a conflict.
Сохранить текущее подключение в .lil.key; по умолчанию использовать имя базы
postgresql -m shop-demo
Учебный пример — без подключения к серверу
Saved  shop-demo (stores a sensitive profile in .lil.key)
Показать сохранённые подключения или сведения об одном без вывода пароля
postgresql -k
Учебный пример — без подключения к серверу
No saved connections (unless a profile has already been saved)
Показать сохранённые подключения или сведения об одном без вывода пароля
postgresql -k shop-demo
Учебный пример — без подключения к серверу
Saved connection not found: shop-demo (unless saved earlier)
Подключиться через сохранённое подключение
postgresql -K unknown
Учебный пример — без подключения к серверу
Saved connection not found: unknown
Удалить сохранённое подключение
postgresql -M unknown
Учебный пример — без подключения к серверу
Saved connection not found: unknown
Отключиться и удалить данные подключения
postgresql -e
Учебный пример — без подключения к серверу
+
Postgresql · localhost
postgresql -c localhost demo shop -p 99999 -n
Учебный пример — без подключения к серверу
Invalid database port
Показать столбцы и типы данных
postgresql -s missing_table
Учебный пример — без подключения к серверу
Table not found: missing_table

Файл из примера: sandbox/db/postgresql.sql

Пример использует файл или каталог из защищённой учебной папки /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);

Связанная документация

Текущая публичная версия

v1.1.42026-11-01

Производственная доработка

Актуальная стабильная версия postgresql. postgresql подключается к PostgreSQL, показывает таблицы и строки, выполняет точечные изменения, экспортирует данные, запускает нативный SQL и создаёт логические резервные копии.