{"id":22437583,"url":"https://github.com/oelmekki/postgres-350d","last_synced_at":"2025-08-01T15:32:23.353Z","repository":{"id":66839708,"uuid":"70422812","full_name":"oelmekki/postgres-350d","owner":"oelmekki","description":"Docker build of postgresql changing the dimension limit for the cube extension, raising it to 350","archived":false,"fork":false,"pushed_at":"2023-10-06T11:36:15.000Z","size":8,"stargazers_count":17,"open_issues_count":3,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2023-10-06T12:34:33.142Z","etag":null,"topics":["machine-learning","postgres","postgresql","vector-database"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oelmekki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-10-09T18:36:34.000Z","updated_at":"2023-07-29T16:07:33.000Z","dependencies_parsed_at":"2023-02-23T02:30:19.922Z","dependency_job_id":null,"html_url":"https://github.com/oelmekki/postgres-350d","commit_stats":null,"previous_names":[],"tags_count":3,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oelmekki%2Fpostgres-350d","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oelmekki%2Fpostgres-350d/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oelmekki%2Fpostgres-350d/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oelmekki%2Fpostgres-350d/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oelmekki","download_url":"https://codeload.github.com/oelmekki/postgres-350d/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228389143,"owners_count":17912189,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["machine-learning","postgres","postgresql","vector-database"],"created_at":"2024-12-06T00:13:29.049Z","updated_at":"2024-12-06T00:13:29.616Z","avatar_url":"https://github.com/oelmekki.png","language":"Dockerfile","readme":"# pg350d\n\nDocker build of postgresql-15.3 changing the dimension limit for the cube\nextension, raising it to 350.\n\nThis is needed to be able to work with words embedding or other machine\nlearning related vectors with postgres.\n\n\u003e Note: since pg350d was released, there has been some efforts to support\n\u003e machine learning friendly vectors in [pgvector](https://github.com/pgvector/pgvector),\n\u003e which supports up to 16k dimensions.\n\nYou can easily generate a build for your own need in term of dimensions by\nediting this dockerfile.\n\n## What is the problem again?\n\nThe cube extension, which you'll use to perform operations on vectors, has\na hard limit of 100 dimensions per vector.\n\n## Download\n\nA built image is available on Gitlab's registry. You can pull it this way:\n\n```\ndocker pull registry.gitlab.com/oelmekki/postgres-350d:15.3\n```\n\n## Is it safe?\n\nPatching the hardcoded limit is [the recommended way in postgres\ndoc](https://www.postgresql.org/docs/current/cube.html#id-1.11.7.20.9).\n\nI've been using it for a few years in production, and didn't encounter any\nproblem.\n\n## How to raise postgresql's cube extension dimensions limit?\n\nEven if you're not familiar with docker, reading the Dockerfile from this repos\nshould be easy enough to teach you how to do it yourself. Spoiler:\n\n* sources are in the `contrib/cube/` directory from postgres sources\n* limit is in `contrib/cube/cubedata.h`\n* make and make install should be ran with the `USE_PGXS=true` env variable\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foelmekki%2Fpostgres-350d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foelmekki%2Fpostgres-350d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foelmekki%2Fpostgres-350d/lists"}