Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • pleroma pleroma
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 580
    • Issues 580
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 95
    • Merge requests 95
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Pleroma
  • pleromapleroma
  • Merge requests
  • !3585

Open
Created Dec 28, 2021 by Alex Gleason@alexgleasonContributor
  • Report abuse
Report abuse

Draft: Experimenting with CockroachDB

  • Overview 12
  • Commits 1
  • Pipelines 1
  • Changes 15

I experimented with CockroachDB as an alternative to Postgres with better horizontal scaling capabilities. It's written from the ground-up in Go, but it supports the Postgres wire protocol, meaning it can deal with queries in the Postgres SQL dialect. It can use the Postgres Ecto adapter, too.

This is very messy and I just wanted to upload it somewhere for prodigy.

It seems CockroachDB is lacking at least these features, and possibly others:

  • citext
  • to_tsvector()
  • pg_trgm
  • uuid-ossp

And has these limitations:

  • Not possible to create an index on an array field.
  • Weird bug during ALTER TABLE where it tries to apply constraints to a different column in the transaction, unless you order them in the right way.
  • You can't lock tables (??)

I've just been commenting out indexes trying to get it to run, but ultimately I was blocked on 20181218172826_users_and_activities_flake_id. It doesn't support uuid-ossp so there's nothing to do here.

It would be cool if there were some way to conditionally support it, but right now it's lacking too many features. It seems like it might be more lucrative to implement those missing features into Cockroach DB first, or wait until someone does.

Edited Dec 28, 2021 by Alex Gleason
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: cockroachdb