hasura / hasura/graphql-engine

Hasura fails because max_function_args in postgres is no enough

Open
#10,227 9 comments 0 reactions 0 assignees View on GitHub
k/bug
Dominant language
TypeScript
Stars
32.1k
Forks
3k
PR merge metrics
PR metrics pending

Description

### Version Information

Server Version:
2.36.1

### Environment

OSS

### What is the current behaviour?
Hasura fails to retrieve data from a Table (From Citus), and that happens because it seems that max_function_args in PG is not enough for that, the table indeed has let's say 50columns, but I do not understand why hasura creates a Method with more than max_function_args and try to retrieve data after that
That may be due to json modules used in hasura or something like that
And to fix that you just hae to recompile PF to give a bigger max_function_args and that is not possible in most cases since no one wants to recompile PG) this value cantbe added to PG cofig it is a readonly value and postgres doesnt allow that

SO it seems that tables with more that 50columns are not supported in hasura at the mooment

This is the errror
```
statusCode: 54023
cannot pass more than 100 arguments to a function
```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the failure against a Citus table with more than 50 columns on PostgreSQL, using the reported statusCode 54023 error as the checkpoint. Trace how Hasura retrieves the table and constructs the PostgreSQL function call, including any JSON-related path mentioned in the report. Done means supported wide tables no longer exceed PostgreSQL's 100-argument limit without requiring a PostgreSQL recompile.

Written by the indexing model from the issue text.

Assessment

Tech stack
postgres, typescript
Domain
backend-api-design, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.