Skip to content

Open source · PostgreSQL · Apache-2.0

Build database apps on PostgreSQL. In SQL.

pgkiln is a low-code application builder for PostgreSQL, modeled on Oracle APEX. Generate reports, forms, dashboards and maps from your tables, keep your rules in PL/pgSQL, and ship secure web apps your team can run.

# with Docker: PostgreSQL 17 + pgkiln
cd deploy && cp .env.example .env   # fill in four secrets
docker compose up -d   # → http://127.0.0.1:3100/builder
The pgkiln page designer
137 APEX features compared20 region types22 built-in languages1 schema added to your database0 licence fees

Everything a database app needs

The parts you would otherwise build by hand, ready on day one and driven by SQL.

Apps are data

Pages, regions, items, validations and processes are rows in a meta schema. Export them, diff them in git, import them in one transaction.

Generated from your tables

Point a wizard at a table and get a report and form, a grid, cards, a calendar, a chart, a map or a faceted search, with defaults from the catalog.

Secure by default

A least-privilege runtime role, a database role per app, row level security, checksummed URLs, CSRF protection and a strict CSP.

Your logic stays in PostgreSQL

Business rules live in PL/pgSQL. Raise an exception and the message appears on the right form field.

Sign-in your way

Built-in accounts with roles, OpenID Connect, SAML 2.0, LDAP, HTTP headers or database accounts, and authorization schemes.

Phone, tablet and desktop

Responsive pages, installable as a Progressive Web App, with offline pages and forms sent when the network is back.

REST in and out

REST modules and OAuth clients for your API, PostgREST alongside, and regions and lists of values on other web services.

Extend it

Template components and plug-ins with their own JavaScript, CSS and PL/pgSQL, packed in one file.

AI where it helps

AI assistants in your apps with Claude or OpenAI, and an MCP server so coding agents can read and change your apps.

See it in action

The HR example application that ships with pgkiln, and the builder.

The page designer with component tree, layout and property editor
Drag regions, items and buttons into place; every property in one editor.

From table to app in three steps

1

Point it at your tables

Install pgkiln next to your schemas (or in its own database). It adds one schema, meta, and a few roles; nothing else changes.

2

Generate the pages

Create an application from existing tables, a spreadsheet or pasted data. You get reports, forms, navigation and a dashboard.

3

Shape it in SQL

Refine pages in the designer, write queries and PL/pgSQL, add security, translations and documents. Deploy with one command.

Your rules, in the database

A region is a query. A validation is a PL/pgSQL function. Bind variables work the way APEX developers expect, and an exception lands on the form field it is about.

  • :P3_DEPTNO bind variables, meta.v() inside functions
  • Row level security with meta.app_user() and meta.has_role()
  • Triggers, audit trails and approvals in plain PostgreSQL
How pgkiln works →
-- a report region's source
select e.empno, e.ename, e.job, d.dname
  from sales.emp e join sales.dept d using (deptno)
 where :P2_DEPTNO is null or e.deptno = :P2_DEPTNO;

-- a rule the Save button runs
create function sales.check_discount(p numeric)
returns void language plpgsql as $$
begin
  if p > 0.2 and not meta.has_role('manager') then
    raise exception 'Discounts over 20% need a manager'
      using column = 'discount';
  end if;
end $$;

For your git workflow

Applications as files

Export an app as one file per component, review the diff in a pull request, and deploy with pgkiln import --replace: one transaction, users and saved reports kept.

The command line →

For AI coding agents

An MCP server built in

Claude Code, Cursor and other agents can list your apps, explain a page, look at the tables behind it, and change the app through files with a diff before anything is imported. Queries are read-only.

AI coding agents →

Coming from Oracle APEX?

The model you know, on PostgreSQL

Pages, regions, items, dynamic actions, shared components, authorization schemes, the page designer and the SQL Workshop all work the way you expect. The guide maps every concept and shows how to port PL/SQL.

An application on a phone

Pricing

One plan, and it is the whole thing.

Community

Free forever, self-hosted

  • Every feature, no user or app limits
  • Apache-2.0: use it commercially, change it
  • Your data never leaves your PostgreSQL
  • Docker image and compose file included
Install pgkiln

Questions

Is pgkiln free?

Yes. pgkiln is open source under the Apache-2.0 license. You host it yourself; there are no paid tiers or usage limits.

How does it compare with Oracle APEX?

pgkiln follows APEX’s model (apps as metadata, pages with regions and items, page processing in SQL) on PostgreSQL. The parity matrix compares 137 APEX features: most are available, and what is partial or missing is listed honestly.

What do I need to run it?

PostgreSQL 15 or newer and Node.js 20 or newer, or just Docker: the compose file starts PostgreSQL 17 and pgkiln together. There is no separate web listener like ORDS.

Can I keep my applications in git?

Yes. The command line exports an application as one readable file per component (JSON or YAML with the SQL inline), shows a diff against the database and updates an application in place.

Does it lock me in?

Your data stays in your own PostgreSQL tables with your own constraints and policies. pgkiln only adds its meta schema, and an application is a JSON document you can read.

Build your first app this afternoon

Install with Docker, open the builder and create an application from a table.

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