drakkan / sftpgo

Full-featured and highly configurable SFTP, HTTP/S, FTP/S and WebDAV server - S3, Google Cloud Storage, Azure Blob

Home Page:https://sftpgo.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support YugabyteDB as a dataprovider

ccorbacho opened this issue · comments

Is your feature request related to a problem? Please describe.

Sftpgo has dataprovider support for both Postgres, and CockroachDB (which providers a PG interface, and sftpgo uses a subset of the PG SQL to implement it).

YugabyteDB also provides a Postgres interface, but unlike CockroachDB, it does not yet support GIST indexes, and therefore does not support any indexes on INET type fields. This means the DB schema creation fails on the final CREATE INDEX step when it tries to create the index on the "first" and "last" columns.

Describe the solution you'd like

Add a new dataprovider type, "yugabytedb", following the same pattern as the "cockroachdb" provider - update pgsql.go to add this as a new variant of postgres, by excludiung the same SQL from yugabytedb as cochroachdb, but also exclude creating the index for ip_lists_first_last_idx from "yugabytedb" (i.e. only create this index on cockroachdb and postgresql).

Describe alternatives you've considered

No response

What are you using SFTPGo for?

Medium business

Additional context

No response

This will increase the maintenance burden, similar to CockroachDB (which we are considering removing) as every time we modify the db we have to do specific tests and add different code paths to be compatible with these variants.

It can be added if requested by companies that support SFTPGo in the long term and thus make this increased maintenance burden sustainable. Thank you