rust-postgres
pixels
rust-postgres | pixels | |
---|---|---|
14 | 33 | |
3,293 | 1,688 | |
- | - | |
7.6 | 4.9 | |
3 days ago | 2 months ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rust-postgres
-
PostgreSQL Logical Replication Explained
For C there should be good options.
For Rust it doesn't appear that well-supported.
A very simple approach is to poll for changes using `pg_logical_slot_get_changes()` - that should work with any driver. That's what I used for my initial experimentation, before switching over to the streaming replication protocol for better performance.
The streaming replication protocol is not that complicated, but currently you'll have to handle some of the low-level protocol yourself, or work with some very experimental implementations. There's a project to help get you started at [1], and some more discussion at [2].
For the logical decoder, wal2json is quite nice to experiment with, but I've found pgoutput is not that complicated and gives you something closer to the raw data.
[1]: https://github.com/seddonm1/logicaldecoding/
[2]: https://github.com/sfackler/rust-postgres/issues/116
- Push-Based Outbox Pattern with Postgres Logical Replication
-
Rust async IS broken
This is a bit of a rant so please bear with me. I wrote a small utility program a long time ago that used this version of the postgres crate
-
Cómo usar gRPC con Rust Tonic y Postgres con ejemplos
En este post aprendermos a usar Rust, Tonic y la crate gRPC, y implementaremos un CRUD con Postgresql database.
-
Reviews of the Diesel ORM, are there better alternatives?
I can understand that this can be frustrating and I know that the situation there is not ideal for diesel. There are certainly things to improve there by either providing a bundling support which builds the native library as part of the normal build process or by implementing a pure rust connection implementation. Both is possible with diesel, but requires some work. At least the pure rust connection implementation is something that can be provided by a third party crate now with upcoming diesel 2.0 release. If you are interested in that checkout this and this issue. As for the bundling support: This requires changes in the mysqlclient-sys and pq-sys crates. Again help there is welcome. In the end it makes me sad that some people have repeating decided that a solution to this problem is to write just another crate instead of helping to fix these issues. This just results in everyone have more work to do, as there are now two non-perfect solutions instead of having one slightly improved solution.
-
GitHub - tzConnectBerlin/rust-pg_bigdecimal: A Rust native datatype for Postgres' Numeric type, to be used with Rust's "Postgres" library.
We created this little library to have a fully native type for Postgres Numerics with the rust-postgres (https://github.com/sfackler/rust-postgres) library.
-
pigeon-rs: Open source email automation written in Rust
The problem with a crate like postgres is that you have to define the types of the query at compile-time. And if you use the simple query protocol in postgres, you just get a bunch of strings, i.e. no proper typing at all. However, for maximal flexibility arbitrary queries should work in pigeon, without knowing the database schema.
-
Announcing Usual -- a small nORM wrapper to make dealing with SQL easier (like tokio-postgres)
Some nifty things about usual: - It's a generic wrapper over any SQL "row" object. The first implementation that's provided is for tokio-postgres, but traits are available to implement over whatever you'd like. - It provides static typing for partial queries. That is, it supports fetching a subset of fields from a row and makes a unique type for the return value. This gives you some neat-o type safety like this:
-
How to use gRPC with Rust Tonic and Postgres database with examples
In this post, we will learn how to use Rust Tonic gRPC crate. We will learn how to implement CRUD with Postgresql database.
-
Hey Rustaceans! Got an easy question? Ask here (12/2021)!
(see: https://github.com/sfackler/rust-postgres/blob/e15c9b1415f69821799f1370246581c1600a6196/postgres-protocol/src/types/mod.rs#L137)
pixels
-
A minimal working Rust / SDL2 / WASM browser game
https://github.com/parasyte/pixels
That gives you a simple software framebuffer, and it builds as a native app or for the web.
-
How do rust gui frameworks avoid rerendering?
On a more recent machine, that same (well, more primitive) app with pixels or softbuffer struggled beyond acceptable. But was definitely poorly written.
-
Announcing lavagna v2, a collaborative blackboard made with bevy and WebRTC
I’ve ported the application from being based on pixels crate to the powerful bevy game engine
-
placing pixels
Well, it depends on how you use it; writing to an image buffer isn't much less efficient than writing to any normal buffer (in fact, although displaying your scene to a window efficiently is important, your main bottleneck will be the actual ray tracing loop). You may want to read this article for a practical example of using an ImageBuffer to create and draw a texture with Piston. Other window backends you could use, apart from pixels which was already mentioned in another comment, include minifb and Mini GL, though I haven't personally used them.
-
Considerations for Power Draw with egui
You can use wgpu instead of opengl as in the pixels example: https://github.com/parasyte/pixels/tree/main/examples/minimal-fltk
-
Is Macroquad suitable for making games like Wolfenstein RPG?
It might be possible but with a raycaster you probably want to be able to easily set all pixels and create your own small engine. Something like the pixels crate should fit your purpose: https://github.com/parasyte/pixels
-
I love rust, I have a pet peeve with the community
The reality is that I have used unsafe that is also unsound out of convenience because fixing it is a papercut too many. And this tends to be common! I know enough to spot unsoundness in other projects (sometimes even early). But not enough to be confident in my own abilities to write sound unsafe code. Why? Because it's really flipping hard, that's why!
-
[WGPU][GLFW][HELP]
Also, if you just want to get-things-done, then https://github.com/parasyte/pixels might be a bit better, to avoid reinventing the wheel.
-
How to prevent performance drops affecting my Game Boy emulator when running on M1/M2 Macs?
However, I recently got a new M2 Macbook Air and started noticing some super weird behavior. While playing Pokemon Silver with an unlocked framerate, I'd notice that the game would slow down to below 60FPS, even on a release build. After printing a little debugging info I found the culprit in the rendering logic which was handled by the MiniFB crate. At first I thought switching to a GPU renderer (such as https://github.com/parasyte/pixels) would help, and it... kinda did?
-
Simple way to draw a pixel at coordinates
pixels uses wgpu and runs fine.
What are some alternatives?
MeiliSearch - A lightning-fast search API that fits effortlessly into your apps, websites, and workflow
macroquad - Cross-platform game engine in Rust.
sqlx - 🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.
bevy - A refreshingly simple data-driven game engine built in Rust
tikv - Distributed transactional key-value database, originally created to complement TiDB
rust-sfml - SFML bindings for Rust
r2d2 - A generic connection pool for Rust
miniquad - Cross platform rendering in Rust
FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project
ggez - Rust library to create a Good Game Easily
Rust Client for KairosDB - Rust client for KairosDB
rust_minifb - Cross platfrom window and framebuffer crate for Rust