Hasura - Citus compatibility


As Citus is an extension of Postgres, the way it functions with Hasura is also very similar. Currently the following features are supported with Citus and Hasura:


Querying from all kinds of tables and views is currently supported. This includes local, reference and distributed tables. All the tables can be tracked from the console.


The following table describes the supported relationships based on the supported joins in Citus:

  To Local To Reference To Distributed
From Local Object, Array Object, Array  
From Reference Object, Array Object, Array  
From Distributed   Object Object, Array

The Hasura console allows you to add all the supported relationships.


All permissions work like on Postgres without any restrictions.


Citus supported plpgsql functions are supported on Hasura with the following restrictions:

  • Fetching relationships as part of the function’s response is currently not supported


Mutations are supported in graphql-engine with the following restrictions:

  • Fetching relationship data as part of returning is not yet supported

Event triggers

Citus does not yet support creating triggers (See issue) on reference tables. Hence this is currently not supported.