question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Support for sharded tables on Azure Hyperscale (Citus)

See original GitHub issue

Hi team,

We’ve run into a roadblock when testing Azure Database for PostgreSQL Hyperscale (i.e. Citus) with Hasura. Is this a known issue / limitation, or something that we’ve missed?

Originally we were looking into Yugabyte, which is probably great for some use cases, but it wasn’t coping well with our large and rather complex schema. Citus offers a Microsoft-backed PaaS solution that would be ideal for us.

Example error:

{
  "errors": [
    {
      "extensions": {
        "internal": {
          "statement": "SELECT  coalesce(json_agg(\"root\" ), '[]' ) AS \"root\" FROM  (SELECT  row_to_json((SELECT  \"_1_e\"  FROM  (SELECT  \"_0_root.base\".\"connector_uuid\" AS \"connector_uuid\", \"_0_root.base\".\"batch_uuid\" AS \"batch_uuid\", \"_0_root.base\".\"ext_id\" AS \"ext_id\", \"_0_root.base\".\"landed_file\" AS \"landed_file\", \"_0_root.base\".\"last_updated\" AS \"last_updated\", \"_0_root.base\".\"last_updated_src\" AS \"last_updated_src\", \"_0_root.base\".\"lkey\" AS \"lkey\"       ) AS \"_1_e\"      ) ) AS \"root\" FROM  (SELECT  *  FROM \"etl\".\"keystore\"  WHERE ('true')     ) AS \"_0_root.base\"      ) AS \"_2_root\"      ",
          "prepared": true,
          "error": {
            "exec_status": "FatalError",
            "hint": "Consider using an equality filter on the distributed table's partition column.",
            "message": "could not run distributed query with subquery outside the FROM, WHERE and HAVING clauses",
            "status_code": "0A000",
            "description": null
          },
          "arguments": [
            "(Oid 114,Just (\"{\\\"x-hasura-role\\\":\\\"admin\\\"}\",Binary))"
          ]
        },
        "path": "$",
        "code": "unexpected"
      },
      "message": "database query error"
    }
  ]
}

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:8 (3 by maintainers)

github_iconTop GitHub Comments

10reactions
dave-philpcommented, Dec 8, 2020

Hi @tirumaraiselvan. Checking in again to see if there’s been any updates on this one.

Although, we do not yet have Citus support officially (coming very soon), Hasura may still start and work for basic queries on Citus (it may also not work for other basic queries).

Is there an ETA for Citus support, even if its alpha or beta? 🙂

7reactions
Ciboulettecommented, Dec 2, 2020

I’m also interested to know when this feature would be available 😇

Read more comments on GitHub >

github_iconTop Results From Across the Web

Sharding Postgres with Basic tier in Hyperscale (Citus) ...
Monitor the shard rebalancer: Go to the Azure portal. Open the Shard rebalancer page in Server group management. You will see the message...
Read more >
Hyperscale (Citus) on Azure Database for PostgreSQL
Transparently shard Postgres tables across multiple nodes to give your application more memory, compute, and disk. Which gives you parallelism, high performance ...
Read more >
Guide to Azure PostgreSQL Partitioning and Sharding
Comprehensive Guide on Partitioning and Sharding in Azure Database ... the associated tables to support the data distribution in the table.
Read more >
What To Know About Microsoft Azure PostgreSQL ...
Since renamed Azure Database for PostgreSQL Hyperscale, this feature enables database developers to design tables so portions of the data are ...
Read more >
Accelerate Performance by choosing right table type in ...
Hyperscale (Citus) Introduction: If you're looking to scale out your multi-tenant app on Azure - or build a real-time operational analytics ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found