Build a CRUD tool for PostgreSQL in minutes

Building CRUD apps has never been so fast.

Some pipes, one is purple. Meant to illustrate connected data sources

With Internal, you can connect PostgreSQL and build CRUD apps in minutes—to create, read, update, and delete data. Internal comes out-of-the-box with everything you need to build great CRUD apps for PostgreSQL including components (e.g. tables, buttons, forms), CRUD Functions, and granular permissions.

Out-of-the-Box Components for PostgreSQL

Internal provides a variety of components that you can simply drag and drop onto your Space to start designing your CRUD app. These components include tables, buttons, forms, dropdowns, images, CSV uploads, and more: 

Some of Internal’s out-of-the-box CRUD app components

Internal’s app builder is easy to use, and doesn’t require SQL or code— although you can always use code and SQL if you want! Here’s what building a PostgreSQL CRUD app feels like with Internal:

CRUD Functions for PostgreSQL

As soon as you connect PostgreSQL, Internal automatically generates List, Get, Update, Insert, and Delete functions for each table in your database. These Functions can be used with Internal’s components to create a CRUD app quickly.

No need to write any SQL. All you have to do is choose a component (such as a table or a button) and a Function to display or modify data from PostgreSQL. 

Custom CRUD Functions for PostgreSQL

If you want to join multiple tables, run a stored procedure, or execute other complex SQL operations, you can use Internal’s Function Editor to create a custom PostgreSQL Function. Internal supports creating several different types of custom PostgreSQL Functions:

PostgreSQL CRUD actions in Internal

Select Functions

This type of function is used to read data from your PostgreSQL database. Enter a SQL query to create your function. When you create a Select function, Internal will automatically include filtering and pagination. You don't have to do anything else to configure that. 

Insert, Update, Delete Functions

Use an Insert Function to create new records in a PostgreSQL database and an Update Function to update records in your PostgreSQL database. You’ll use Internal’s query builder to quickly create these custom Functions.

Raw SQL Exec

This type of function can be used to run custom insert, update, and delete queries as well as Stored Procedures in your PostgreSQL database.

Raw SQL Query

This type of function can be used to run custom queries that return data from your PostgreSQL database. 

SQL Params

When you’re creating custom CRUD Functions for PostgreSQL, you can also add SQL Parameters to create variable inputs that can be used by your CRUD app. Internal uses the same syntax for parameters as SQL function arguments: $n. $1 refers to the first argument, $2 to the second, and so on.

Granular Permissions for your PostgreSQL CRUD Apps

Internal comes out-of-the-box with field-level permissions that can be applied across all your PostgreSQL CRUD apps. For example, if you create a CRUD app for editing your database data, you can invite your IT manager and allow them to view and edit all fields. You can also invite your operations team and allow them to view and edit a subset of the fields in your CRUD app.

Additional Out of the Box Features for PostgreSQL CRUD Apps

Internal also comes with 2FA, Azure AD support, environments (e.g. staging and production), usage history, version history, and more. These features help keep your PostgreSQL data protected, allow you to test your app properly, and let you revert changes to the app as needed.

And if you aren’t an Internal customer, we invite you to sign up for an account and see what you can build!

Get started now.

Oops! Something went wrong while submitting the form.

Check your email. We sent a verification link to your email.

New verification link sent.

Send a new link

Good news! Your company already has an Internal account. Do you want to request access?

You'll get an invite to Internal once your company admin approves your request.

Request Access