-
Notifications
You must be signed in to change notification settings - Fork 167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Postgres improvements #782
Comments
@yocontra can you please review the list above and give some feedback if it makes sense ? feel free to add remove etc |
Here's my current TODO list for my first PR of DB changes:
TODO for future PRs:
|
One thing that surfaced is PostgREST isn't able to deal with partitioned tables correctly - after implementing partitioning the query generator blows up (ends up doing a no-op and running no query, with no error reported) doing a basic relational query on the table after the create_upload function succeeds. Issue was already reported and the PR to fix it was merged over the weekend, so I'll go ahead and update to latest and see if it resolves the query generator issue. UPDATE: Need to wait for a new PostgREST release - fix is not available in any docker images yet, and I don't want to roll our own custom image by pulling binaries out of their GitHub Actions which seems hacky. |
Latest PostgREST (9.0.0) fixes the partition issue so unblocked there. Tests are all passing fine with the new partition changes. On the DB configuration front, Heroku only lets you set basic flags so most of that will be skipped except what can be tuned in the database itself. If you want to tune the database more (and generally have more control, make it cheaper) I would recommend using a service like Aiven for managed PG. If we were able to set flags, this is what the configuration would mostly look like: |
Closing this as complete for nft.storage. Optimizations are live. |
We have Eric from Trigram working on our current postgres setup including schema, config, migrations.
Tasks:
POST /upload
,POST /pins
,GET /check
The text was updated successfully, but these errors were encountered: