Skip to content

pgkiln documentation ​

pgkiln is a low-code, SQL-driven application builder for PostgreSQL, modeled on Oracle APEX. This guide explains how everything works, from installing it to building, securing and deploying applications, and how to extend pgkiln itself.

User guide ​

#ChapterWhat you will learn
1Installation and configurationRequirements, quick start, every configuration option, production deployment, upgrades, backups
2Concepts: how pgkiln worksArchitecture, the metadata repository, the request lifecycle, session state, bind variables, substitutions
3Using the builderCreating apps, the page wizards, the page designer, shared components, SQL Workshop, export/import
4Pages and regionsPage properties and every region type (reports, grids, forms, charts, cards, calendar, facets, static/dynamic content) with all attributes
5ItemsEvery item type, lists of values, cascading lists, read-only conditions, multi-value items
6Buttons, validations, processes and page logicMenu buttons and badges, what happens when a page is submitted, form and grid DML, calling PL/pgSQL, error handling, computations, conditional branches, build options, application processes
7Dynamic actionsClient-side behaviour: show/hide, set values from SQL, refresh regions, cascading lists
8Users, authentication and authorizationSign-in, users and roles, passwords and My account, authorization schemes, row level security, session state protection
9SQL API and metadata referencemeta.* functions, every metadata table and column, URL parameters
10Tutorial: build a Tasks appA complete app with RLS, PL/pgSQL, validations and dynamic actions, step by step
11Coming from Oracle APEXConcept mapping, porting PL/SQL to PL/pgSQL, users per app vs workspace, ORDS vs PostgREST
12Developing pgkilnCode structure, tests, adding a region or item type, release process
13REST APIs with PostgRESTPostgREST next to pgkiln, the api schema pattern, tokens, one set of RLS policies for UI and API
14GlobalizationLanguages, translating an app (XLIFF/CSV), text messages, date formats, light/dark
15Useful PostgreSQL extensionsExtensions for search, scheduling, auditing, maps, AI search, Oracle compatibility and web services, mapped to APEX features, with security notes
16Files, data loading and printingFile upload items, loading CSV/Excel/JSON into tables (SQL Workshop and pages), report PDFs, document templates and printing
17Mobile and field workProgressive Web Apps: installing, offline pages, forms sent offline, location, camera and barcode items
18The command line and application filespgkiln CLI: migrate, export/import, one file per component for git, static ids, diff, updating an app in place
19REST data sources and web credentialsRegions and lists of values on web services, web credentials (basic, API key, bearer, OAuth2) with write-only secrets, the invoke_api process, the server's allow-list
20AI coding agents (MCP)pgkiln mcp: let Claude Code, Cursor and others read, explain, change, diff and import applications

Other documents ​

Conventions in this guide ​

  • code refers to SQL, file names, configuration keys or UI labels you type.
  • Builder → App → Shared Components describes a path through the builder's menus.
  • Examples often use the HR example application (/a/hr, npm run example:hr); it is not part of pgkiln.

Released under the Apache-2.0 license. Not affiliated with Oracle; Oracle and APEX are trademarks of Oracle.