Replies: 1 comment
-
|
Please allow me to add opendal here so we can play with cloud storage nicely while needed. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
pgwire aims to create a protocol layer that enables Rust applications to leverage Postgres' frontend/backend interactions. This library focuses on protocol implementation and API, designed for developers who may not even use SQL as their query language.
While I'm try to keep this library general, there are some potential project ideas the community can take and move on.
A Cool and Postgres-Native User Interface
This might not be a serious one. But it's like what Neon used to provide as an interesting on-boarding experience: use a postgres
Noticefor greeting.This is fully possible with pgwire.
Postgres-like Databases
Developers can build Postgres-compatible databases using pgwire. Examples include:
Typically to build a Postgres-like database you will need:
Postgres compatibility means more than just wire protocol. It is very simple and straight-forward to implement the simple query subprotocol, on which you can talk to the server using
psql. However, to work with other database management tools, language drivers and visualization tools, there are several tiers of compatibility:Also it's worth to note that the extended subprotocol has some features that your database backend may not support. For example, postgres is able to inference data types of parameters in prepared statement, without parameter values provided, or executing the query statement. This step is called "Describe statment". Some of the language drivers like rust-postgres relies on this command to get parameter types. As far as I know, this is impossible with sqlite.
Middleware for PostgreSQL
There are requests from community to build a PostgreSQL proxy using this library. And I believe this is the other approachable direction. It's also the start point for a promising Postgres ecosystem that will be built on rust.
To archive this goal, there are several levels and abstractions developers can work on
Conclusion
These are my ideas for developers who has a passionate to work on postgres protocol and rust. It's excited to see how we can built rust postgres ecosystem from the top tier, if you consider pgrx is doing it from the bottom tier.
Let me know if you have more ideas with the library.
Beta Was this translation helpful? Give feedback.
All reactions