Skip to main content
Version: v2.x

Postgres: Setting default values for fields

Let's say you want certain fields to have their values set automatically when not explicitly passed. You can do this in the following ways:

  • Postgres defaults: configure default values, using fixed values or simple SQL functions, for columns in the table definition. E.g. an auto-incrementing id, a created_at timestamp, etc.
  • Custom SQL functions: set up Postgres triggers which run custom SQL functions/stored procedures to set the values of certain columns on inserts/updates on the table. This is useful to set values of fields which depend on other fields passed in the input. e.g. set submission_time of an online quiz as 1 hour from the start_time.
  • Role based column presets: set up presets, using session variables or fixed values, that are applied when a row is created/updated with a particular user role. E.g. set a user_id field automatically from a session variable/authorization header.
  • Created_at / updated_at timestamps: set up created_at and updated_at timestamp values.