←  See more Retool integrations


PostgreSQL, meet Retool.

Retool makes it easy to build admin panels, dashboards, and utilities on top of your PostgreSQL data.

Connecting Retool to Postgres takes just a few minutes, and lets you to quickly build internal tools like admin panels on top of your Postgres data.

Retool connects directly to your PostgreSQL database and lets you use SQL to manage the data in your PostgreSQL tables. For example, you can render users from Postgres into a Table and add a button that, when clicked, runs an SQL query and marks that user as approved.

Retool supports both reading to and writing from Postgres. When writing data, we give you a point and click interface that makes it easy to perform the actions you want and hard to unintentionally do anything destructive.


Supercharge your business operations with Retool and PostgreSQL.

As an engineer, I love Retool. My team now builds much-needed tools for customer support instantly. Also love how it's so hackable - there's little we can't do.

David Boskovitz headshot
David Boskovitz
Software Engineer

What is PostgreSQL?

PostgresSQL is open-source relational database management system.

Read the Retool + PostgreSQL integration docs for more information.

What operations are supported with PostgreSQL on Retool?

  • View your data
    Visualize and search all of your database tables.

  • Insert a record
    Insert a record in an existing table.

  • Delete a record
    Delete an existing record from an existing table.

  • Update or create a new record
    Update a record in an existing table, or optionally create a new record if none is found.

  • Update an existing record
    Update an existing record in an existing table.

  • Join with other datasources
    Easily join with other Retool connected datasources like GraphQL or the Twilio API.

  • Bulk insert records
    Insert a list of records into an existing table.

  • Bulk update via a primary key
    Update a group of records using a column as a primary key.

  • Bulk upsert via a primary key
    Insert a list of rows (or update if existing rows are found) using a column as a primary key.

const newStage = Object.assign(job_stage_form.data, { Type: select1.value })
const new_job_stages = job_stages.value.concat(newStage)

const index = i; // variable which is the index of the button that triggered this
const newData = Array.from(job_stages.value);
newData.splice(i, 1)

var rawData = getProductDetails.data
var prdStlCmpLst = new Array()
for (x in rawData)
if (rawData[x]["dim_date_shops_products.material_family"] == select19.value)
return prdStlCmpLst
nps.'Product Feedback',
nps.nps_count as NPS,
feedbacks.feedback_count as Feedback,
sfdc.sfdc_count as Salesforce,
sfdc.opp_dollars as Opportunity_Dollars
{{npsTableCounts.data}} as nps
join {{feedbackTableCounts.data}} as feedbacks on nps.'Product Feedback' = feedbacks.FeedbackID
join {{sfdcTableCounts.data}} as sfdc on sfdc.FeedbackID = nps.'Product Feedback'
{{ multiselect2.value.length === 0 }}
OR nps.'Product Feedback' = ANY({{ multiselect2.value }})

In Retool, you can join PostgreSQL data with anything.

Retool connects to most databases and nearly anything with a REST or GraphQL API. Read in data from mongoDB, join it via SQL, record user approvals, and POST the result to Stripe to create invoices. Retool empowers you to work with all of your data sources inside of a single app.