Exasol database interaction via exapump CLI and Exasol SQL. Covers file upload/export, SQL queries, and Exasol-specific SQL behavior including data types, reserved keywords, and constraints.
Trigger when the user asks for Exasol database interaction, exapump, Exasol SQL, EXA_ system views, schemas, tables, or query execution outside exasol-import and exasol-export.
Ensure a working exapump profile before proceeding:
exapump sql --profile <name> "SELECT 1"; always place --profile after the subcommand. Otherwise test the default profile with exapump sql "SELECT 1".--profile <name> after the subcommand on every later exapump command.exapump profile list to see which profiles exist.exapump profile show <name> — it masks credentials — to confirm the required fields are set. Never read, cat, or print ~/.exapump/config.toml; it stores credentials in clear text. If a credential value does appear in any command output, do not repeat it in the conversation.exapump profile add <name> (omit --password and exapump prompts on a hidden line) or exapump profile init, then retry step 1. Never ask the user to paste a password into the conversation, and never pass one as a command-line argument.After the connection is established, determine the task type and load only the references needed:
SQL execution (queries, DDL, DML, schema inspection):
references/exapump-reference.md (CLI usage)references/exasol-sql.md (core SQL behavior)references/exasol-grammar.md for the exact statement syntax (SELECT/DQL, DDL, DML, DCL, session & admin) — the EBNF the docs.exasol.com syntax diagrams are generated from. Consult it before inventing syntax or when unsure a clause exists. Read only the section you need — it is large.references/exasol-grammar-functions.md for built-in function, operator, predicate, literal, and data-type syntax (e.g. the exact argument order of a function). Same EBNF source, split out so statement lookups don't pull in the full function catalog.references/exasol-reserved-keywords.md and ingest the full list before designing queries — every reserved word (pinned to Exasol 2026.1.0) must be double-quoted when used as an identifier. On a keyword-related syntax error, re-query the running DB as described in Before writing any SQL in case the file has drifted from the DB version.Table design (DISTRIBUTE BY, PARTITION BY, CREATE TABLE layout):
references/table-design.mdQuery profiling / performance (slow queries, data skew, REORGANIZE):
references/query-profiling.mdAnalytics / window functions (ROW_NUMBER, RANK, LAG/LEAD, QUALIFY, GROUPING SETS):
references/analytics-qualify.mdreferences/exasol-grammar-functions.md for exact analytic-function and OVER (…) window-clause syntaxBucketFS file management (upload/download/list/delete files in BucketFS, bfsdefault, bucket paths):
UDF development (CREATE SCRIPT, ExaIterator, SCALAR/SET, Script Language Containers, SLC, exaslct):
Multiple routes can apply — load all that match.
references/exasol-reserved-keywords.md before designing queries — load the reserved-word list (pinned to Exasol 2026.1.0) up front so you quote reserved identifiers from the start rather than discovering them through errorsexapump sql "SELECT KEYWORD FROM EXA_SQL_KEYWORDS WHERE RESERVED ORDER BY KEYWORD"references/exasol-grammar.md (statements) or references/exasol-grammar-functions.md (functions / predicates / literals / data types) rather than guessing from examples.This skill handles core database interaction: connecting, SQL execution, schema inspection, and table design.
For direct native IMPORT and local file movement into Exasol, use exasol-import.
For direct native EXPORT and local file movement out of Exasol, use exasol-export.
For broad extension, connector, or federation selection, use exasol-extension-catalog.
For BucketFS file management (upload, download, list, delete), the exasol-bucketfs skill provides specialized guidance and will activate automatically when relevant.
For UDF development and Script Language Containers, the exasol-udfs skill provides specialized guidance and will activate automatically when relevant.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer