Natural Language Postgres CLI

Query PostgreSQL from the command line

Query PostgreSQL databases using natural language from the command line.

Diagram

User

CLI

Postgres

Diagram

User

CLI

Postgres

Quick Start

  1. Simple Usage
    bash
    praisonai-ts postgres query "Show all users" \
      --connection-url $DATABASE_URL
  2. With Configuration
    bash
    praisonai-ts postgres query "Top 10 products by sales" \
      --connection-url $DATABASE_URL \
      --max-rows 10 \
      --json

Commands

Query Database

bash
# Simple query
praisonai-ts postgres query "Show all users" \
  --connection-url $DATABASE_URL

# With options
praisonai-ts postgres query "Top 10 products by sales" \
  --connection-url $DATABASE_URL \
  --max-rows 10 \
  --json

Show Schema

bash
# List all tables
praisonai-ts postgres schema \
  --connection-url $DATABASE_URL

# Show specific table
praisonai-ts postgres schema users \
  --connection-url $DATABASE_URL

Interactive Mode

bash
# Start interactive SQL chat
praisonai-ts postgres chat \
  --connection-url $DATABASE_URL \
  --read-only

Options

OptionTypeDefaultDescription
--connection-urlstringenvDatabase URL
--read-onlybooleantrueRead-only mode
--max-rowsnumber100Max rows returned
--allowed-tablesstring–Comma-separated whitelist
--blocked-tablesstring–Comma-separated blacklist
--jsonbooleanfalseJSON output
--show-sqlbooleanfalseShow generated SQL

Examples

Basic Queries

bash
# List users
praisonai-ts postgres query "Show all active users"

# Aggregation
praisonai-ts postgres query "Average order value by month"

# With SQL output
praisonai-ts postgres query "Top customers" --show-sql

Restricted Access

bash
# Only allow specific tables
praisonai-ts postgres query "Show products" \
  --allowed-tables products,categories

# Block sensitive tables
praisonai-ts postgres query "Show data" \
  --blocked-tables users,payments

Environment Variables

VariableRequiredDescription
DATABASE_URLYesPostgreSQL connection URL
OPENAI_API_KEYYesFor NL to SQL

Related