[WIP] [Feature]: Add openGauss DB Backend#29
Open
initzhang wants to merge 6 commits into
Open
Conversation
…id (3) change ON CONFLICT (4) fix pg version checking in alembic
feat: openGauss 7.0+ 存储后端兼容支持
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adding openGauss Backend for ContextHub
Part 1. Configurate openGauss Server
Part 2. Extension Replacement
pgvectorandpgcryptoextensions, neither of which are supported by openGauss.DataVec, which can replacepgvector. Since openGauss does not supportpgcryptoand the alternativeuuid-osspis missing from the official docker image, a customgen_random_uuidfunction was implemented manually to bypass the need for thepgcryptoextension.Part 3. Python Driver Compatibility
asyncpglibrary to interact with the database; however,asyncpgdoes not support openGauss's vector data format.message: unhandled standard data type 'vector' (OID 8305). This can be reproduced using the scriptopengauss/vector_asyncpg.py.async_gaussdblibrary, it also lacks support for the vector format (verified viaopengauss/vector_async_gaussdb.py).asyncpg, while the openGauss backend switches to thepsycopg3driver.Part 4. SQL Dialect Rewriting
Overall Completion Status