Send answers data to a PSQL database you run, or a hosted database like RDS.
To allow Formsort to write to PostgreSQL, create a new user with insert permissions to the schema that contains your data table. You can then add the credentials for the user directly into Formsort.
Do not reuse a user with more permissions than are necessary to INSERT rows - Formsort does not even need SELECT access, and should not have any administrative permissions. Note: do grant
USAGEright on the sequence underpinning the primary key. Example using
GRANT INSERT ON TABLE answer_set TO formsort;
GRANT USAGE ON SEQUENCE answer_set_id_seq TO formsort;
The frequency of inserting a row to PostgreSQL can be configured as:
- On Finalize: only at the end of the flow.
- On Savepoint: after each step marked as save point, and at the end of the flow.
- Every step: at the end of each step (when the responder advances using the Next button), and at the end of the flow.
- Debounced: when the responder abandons the flow after a period of inactivity, and at the end of the flow. Formsort recommends using this setting to reduce the load.
Formsort backend system will exclusively connect to Postgres from the static IP
Because the Formsort user should not have administrative permissions, you must create it yourself, using a SQL command.
Create a table named
answer_setwith the following command:
CREATE TABLE answer_set (
id SERIAL PRIMARY KEY,
submitted_at timestamp with time zone NOT NULL,
responder_uuid uuid NOT NULL,
flow_label character varying,
variant_label character varying,
event_type character varying,
CREATE UNIQUE INDEX answer_set_set_id_idx ON answer_set(id);
There is an option to send answer payloads to multiple Postgres destinations. This is useful if you'd like to share your data across multiple endpoints, or have payloads sent at different submission frequencies go to different destinations.
To enable multiple destinations, first complete setup for an initial destination (Destination 1). Then, click the "+ Add destination" button. Up to 3 instances can be added.
Once you've finished configuring all instances of your PostgreSQL integrations, be sure to Save your work with the button in the top right corner.
If you have deployed flows previous to integrating with or updating Postgres instances, it is advisable to re-deploy those flows.