Built for developers who work with PostgreSQL and want the same drop-in admin experience AMPLE provides for MySQL — without installing pgAdmin or setting up a separate admin stack.
Drop apple.php next to your application, enter your connection details, and you have a complete PostgreSQL admin interface in under a minute. Full schema support, arrays, JSONB, enums, sequences — all handled automatically.
Browse across schemas, insert and edit records, run raw SQL queries, and export results to CSV or JSON — without touching a line of code.
Everything AMPLE does, built for Postgres
Full CRUD
Browse, insert, update, and delete records across any schema and table. Pagination, inline actions, and bulk delete included.
Browse, insert, update, and delete records across any schema and table. Pagination, inline actions, and bulk delete included.
Native Postgres types
Auto-detects arrays, JSONB, enums, hstore, UUID, and sequences — rendering the right input for every column automatically.
Auto-detects arrays, JSONB, enums, hstore, UUID, and sequences — rendering the right input for every column automatically.
Schema navigation
Browse and switch between PostgreSQL schemas and the tables within them from the sidebar.
Browse and switch between PostgreSQL schemas and the tables within them from the sidebar.
Column rules
Store per-column configuration in Postgres comments. Override labels, add hints, mark fields as readonly or hidden.
Store per-column configuration in Postgres comments. Override labels, add hints, mark fields as readonly or hidden.
Lockable config
Ship a config.php to pre-lock host, port, schema, or table. Ideal for embedding next to a specific app.
Ship a config.php to pre-lock host, port, schema, or table. Ideal for embedding next to a specific app.
One file
Everything in apple.php — no Composer, no npm, no build step. Upload it however you deploy.
Everything in apple.php — no Composer, no npm, no build step. Upload it however you deploy.
Up in under a minute
Download
Grab the zip or the bare PHP file below.
Upload
Drop apple.php anywhere on a PHP 8.2+ server.
Connect
Open it in a browser, enter your PostgreSQL credentials, and go.
Check your inbox — your download link is on the way.
When to reach for APPLE
Schema Exploration During Development
When you’re iterating on a schema, APPLE gives you an instant visual inventory of every table, column, type, constraint, and sequence across all schemas in your database. No connection string juggling, no GUI app to install — just drop the file next to your project and browse. Enum values, hstore pairs, and JSONB blobs render inline so you can verify migrations without writing throwaway queries.
Staging Data Verification
Before a release, QA and developers need to confirm that seeded data, migrated rows, and computed columns look correct. APPLE turns that into a two-minute task: point it at your staging database, lock the config so no one writes accidentally, and share the URL with your team. Filtering and pagination keep large result sets manageable without touching the command line.
Controlled Read-Only Access for Non-Engineers
Product managers and data analysts often need to look up records or verify counts without going through a developer. APPLE’s per-column rules — configured through standard Postgres comments — let you hide sensitive columns or mark fields read-only before sharing access. Pair that with a locked config.php and the interface exposes exactly what you intend, nothing more.
Multi-Tenant Schema-Per-Tenant Architectures
Applications that isolate tenants in separate Postgres schemas need a way to inspect any tenant’s data quickly during support or debugging. APPLE’s schema switcher surfaces every schema in the database and lets you jump between them without reconnecting. One file, one deployment, full visibility across every tenant schema without maintaining per-tenant tooling.
How it compares
APPLE isn’t trying to replace every tool in the ecosystem — here’s how it fits relative to the options you’ve likely already considered.
pgAdmin
pgAdmin is a full-featured desktop and web IDE with query planning, role management, backup scheduling, and a deep configuration surface. That power comes with real weight: a multi-service install, a Python runtime, and a learning curve that can slow down simple tasks. APPLE covers the 90% use case — browse, edit, verify — with a single file drop and zero infrastructure overhead, making it a better fit when you need access fast without standing up a separate service.
Adminer
Adminer is the closest spiritual relative — also a single PHP file, also broad database support. The tradeoff is that Adminer is generalist by design: it supports MySQL, SQLite, and others, which means Postgres-specific types like arrays, hstore, enums, and JSONB get generic treatment rather than first-class rendering. APPLE is Postgres-only and uses that focus to handle native types correctly, expose sequence values, and surface per-column metadata that Adminer doesn’t reach.
Postico / TablePlus
Postico and TablePlus are polished native desktop apps with excellent ergonomics for engineers who live in them daily. They require a local install, a paid license for full functionality, and they don’t work in server or shared environments where you need browser-based access. APPLE fills the gaps those tools can’t: deployable alongside a web app, accessible from any browser, and shareable with team members who don’t have a database client installed.
Frequently asked questions
-
Yes, with appropriate access controls. APPLE itself includes CSRF protection on all write operations and supports per-column rules that let you mark fields read-only or hidden entirely. The bigger responsibility is yours: protect the URL behind HTTP authentication, a VPN, or an IP allowlist before exposing it to the network. A locked config.php prevents runtime tampering. Treat it the same way you’d treat any internal admin tool — don’t expose it publicly without authentication in front of it.
-
APPLE targets PostgreSQL 12 and later. It relies on standard catalog tables and type OIDs that have been stable across that range, so it works correctly with 12, 13, 14, 15, 16, and 17. Postgres-native types like JSONB, hstore, and typed enums are handled using the server’s own type system, so behavior tracks the version you’re running without any version-specific workarounds in the code.
-
JSONB columns render as formatted, indented JSON in the edit interface so structure is immediately readable rather than showing a raw string blob. Arrays use PostgreSQL’s native array literal syntax — you edit them as comma-separated values in curly-brace notation, the same format Postgres itself uses. Both types round-trip correctly through the insert and update forms without any manual serialization or casting on your part.
-
Yes. APPLE reads the list of schemas available to the connected database user and presents them in a schema switcher at the top of the interface. Selecting a different schema immediately shows that schema’s tables and views. The connected credentials determine which schemas are visible — if the Postgres user only has access to specific schemas, only those appear. No file edits or server restarts required.
-
APPLE is released under the Elastic License 2.0 (ELv2). You can use it freely to run, modify, and deploy the tool for your own internal purposes — personal projects, team tooling, client work. The restriction ELv2 adds is that you may not offer APPLE as a hosted managed service to third parties. If you’re using it inside your own stack, you’re well within the license terms.
-
APPLE paginates all result sets and never issues an unbounded SELECT against large tables. The default page size is configurable, and the interface shows row counts using Postgres’s fast estimate from pg_class rather than a full COUNT(*) scan, so the interface stays responsive even on tables with hundreds of millions of rows. For precise filtering, you can apply WHERE conditions before browsing, which pushes the predicate to Postgres and keeps result sets small.