mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-18 04:51:35 +03:00
83 lines
1.9 KiB
ReStructuredText
83 lines
1.9 KiB
ReStructuredText
|
.. meta::
|
|||
|
:description: Hasura Citus Hyperscale Postgres database support
|
|||
|
:keywords: hasura, docs, databases, citus-hyperscale-postgres, compatibility
|
|||
|
|
|||
|
.. _hasura-citus-compatibility:
|
|||
|
|
|||
|
Hasura - Citus compatibility
|
|||
|
============================
|
|||
|
|
|||
|
.. contents:: Table of contents
|
|||
|
:backlinks: none
|
|||
|
:depth: 2
|
|||
|
:local:
|
|||
|
|
|||
|
Introduction
|
|||
|
------------
|
|||
|
|
|||
|
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:
|
|||
|
|
|||
|
Tables
|
|||
|
------
|
|||
|
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.
|
|||
|
|
|||
|
Relationships
|
|||
|
-------------
|
|||
|
The following table describes the supported relationships based on the
|
|||
|
supported joins in Citus:
|
|||
|
|
|||
|
.. list-table::
|
|||
|
:header-rows: 1
|
|||
|
:stub-columns: 1
|
|||
|
:widths: 10 10 10 10
|
|||
|
|
|||
|
* -
|
|||
|
- 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.
|
|||
|
|
|||
|
|
|||
|
Permissions
|
|||
|
-----------
|
|||
|
|
|||
|
All permissions work like on Postgres without any restrictions.
|
|||
|
|
|||
|
|
|||
|
Functions
|
|||
|
---------
|
|||
|
|
|||
|
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
|
|||
|
---------
|
|||
|
|
|||
|
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 <https://github.com/citusdata/citus/issues/4425>`__) on reference tables. Hence this is currently not supported.
|