postgresql

postgresql 连接 PostgreSQL,检查表和行数据,执行定向修改、数据导出、原生 SQL,并创建逻辑备份。

数据库版本 1.1.4稳定
lil-terminal

概览

postgresql 提供一致的 PostgreSQL 工作流:隐藏密码输入、结构与行检查、定点修改、导出、原生 SQL,以及无需 shell 工具的逻辑备份。

保留 PostgreSQL 自身模型

PostgreSQL 是具有强类型、事务和丰富原生 SQL 的客户端/服务器式关系数据库。一个 database 内还可以有多个 schema,表和其他对象位于这些命名空间中,因此这里的 schema 不只是“列结构”的意思。日常检查和修改可用短接口,PostgreSQL 特有功能可通过 : 使用。

语法

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

参考

postgresql

显示当前 PostgreSQL 连接

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

连接;除非使用 -n,否则密码会单独询问

-use <database>

重新连接到其他数据库

-l

列出数据库

-t

列出 public 表和视图

-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 或恢复 lil 逻辑 JSON 转储

postgresql dump [file.json] [-f]

创建 public 表的逻辑 JSON 转储

先安全地查看

先使用 postgresql -c localhost demo shop 连接,密码在单独的安全输入框中填写。-t 列表,-s products 查看字段,-n products 2 预览记录,-f products shoe 2 搜索。冒号 : 后可执行 SQL;-o products -csv tmp/products.csv 导出 CSV。

修改数据之前

-w 和 -d 会影响所有匹配行,请先核对条件并备份。dump 只生成 public 表数据的 lil JSON 文件,不包含表结构、索引或角色,不能代替 pg_dump。实际连接需要 PostgreSQL 和 PHP pgsql 扩展。

工作方式

常用形式都列在本地命令参考中。快捷操作负责检查和小范围修改;高级操作始终可以回到对应数据库的原生语法。

备份与恢复

dump/load 的格式由驱动决定。若需要覆盖数据库全部能力的完整备份,请使用服务器侧的原生备份工具。

安全

密码通过隐藏输入框提供,不会写入命令历史。生产环境应尽量使用权限受限的数据库账户。

lil JSON 转储只包含数据,不会重建架构对象或索引。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
列出 public 表和视图
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
创建 public 表的逻辑 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 或恢复 lil 逻辑 JSON 转储
postgresql load db/postgresql.sql
教学示例 — 未连接真实服务器
SQL/JSON import requires an existing schema; running the supplied CREATE TABLE twice causes a conflict.
执行 SQL 或恢复 lil 逻辑 JSON 转储
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,并创建逻辑备份。