pgbouncer
postgres
pgbouncer | postgres | |
---|---|---|
34 | 42 | |
2,648 | 6,704 | |
3.8% | - | |
8.7 | 8.2 | |
6 days ago | 21 days ago | |
C | JavaScript | |
GNU General Public License v3.0 or later | The Unlicense |
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.
pgbouncer
-
MongoDB and Load Balancer Support
Thanks to MongoDB drivers all consistently providing connection monitoring and pooling functionality, external connection pooling solutions aren't required (ex: Pgpool, PgBouncer). This allows applications built using MongoDB drivers to be resilient and scalable out of the box, but based on what we understand regarding the number of connections applications establish to MongoDB clusters it stands to reason that at a certain point as our application deployments increase, so will our connections.
-
Minha jornada de otimização de uma aplicação django
Pgbouncer - resolvia o problema do limite de conexões no postgres. Mas a API “saudável” manteve o número de conexões baixo o suficiente.
- PgBouncer 1.21.0 – "The one with prepared statements"
- Pgbouncer adds support for prepared statements
-
PgBouncer is useful, important, and fraught with peril
Pgbouncer maintainer here. Overall I think this is a great description of the tradeoffs that PgBouncer brings and how to work around/manage them. I'm actively working on fixing quite a few of the issues in this blog though
1. Named protocol-level prepared statements in transaction mode has a PR that's pretty close to being merged: https://github.com/pgbouncer/pgbouncer/pull/845
-
Supavisor: Scaling Postgres to 1 Million Connections
A common solution is connection pooling. Supabase currently offers pgbouncer which is single-threaded, making it difficult to scale. We've seen some novel ways to scale pgbouncer, but we have a few other goals in mind for our platform.
-
Citus 12: Schema-based sharding for PostgreSQL
Great observation! :)
We worked upstream to have `search_path` properly handled (tracked per client) by pgbouncer.
https://github.com/pgbouncer/pgbouncer/commit/8c18fc4d213ad4...
Check config.md in that commit for a verbose, humanized description.
postgres
-
Neon Is Generally Available: Serverless Postgres
I want to use this as a chance to bring attention to a GitHub issue that I think would help reduce friction for Neon:
https://github.com/neondatabase/neon/issues/4989
If the Neon driver were to allow us to easily pass in a localhost connection, the development and test experience would be easier. Perhaps Neon could swap to something like this internally: https://github.com/porsager/postgres.
Having run a local dev environment connected to Neon and tests connected to Neon got in our way of adoption. We'd prefer to develop and run tests against a regular Postgres localhost database.
To the PMs of Neon, put yourself in the shoes of a new developer thinking of giving Neon a try. What changes will I have to make to my code and my development workflow?
-
Drizzle is just as unready for prime-time as Prisma, what else is there?
I'd push you to consider using postgres, slonik or similar for database queries. With these libraries, you just write SQL, but they perform input sanitization for you. So you can safely write:
- Ask HN: If you were to build a web app today what tech stack would you choose?
-
PostgresJs: The Fastest full featured PostgreSQL client for Node.js and Deno
Thanks Pier! Your comment saved me some frustration here :-D
https://github.com/porsager/postgres/discussions/627#discuss...
-
We migrated to SQL. Our biggest learning? Don't use Prisma ORM
There's a core client interface here:
- https://www.postgresql.org/docs/current/client-interfaces.ht...
On what makes it postgres.js faster, from author himself:
> it seems Postgres.js is actually faster than, not only pg, but of any driver out-there
- https://github.com/porsager/postgres/discussions/627
- https://porsager.github.io/imdbench/sql.html
-
Relational is more than SQL
When viewed as a DSL for set theory, views, CTEs, set-returning functions, et al are indeed proper first-class query abstractions.
When viewed through the lens of general purpose imperative or functional programming languages, it's easy to see how it can be seen as falling short.
I'll admit much of the tooling and driver APIs leave a lot to be desired.
Some tools do make good efforts though such as nested fragments in this driver.
https://github.com/porsager/postgres#building-queries
-
SQLite-based databases on the Postgres protocol? Yes we can
I don't think this should turn in to an ORM or not debate, but there are plenty of reasons, especially for the crowd that would do anything to avoid ORMs. Just try to take a peek into the multitude of "ORMs are bad" articles / discussions.
For instance - I would love to be able to use https://github.com/porsager/postgres with sqlite.
-
Is ORM still an anti-pattern?
Demonstrate how easily and accidentally one can make an SQL injection with these:
https://github.com/porsager/postgres
https://github.com/gajus/slonik
-
Storage on Vercel
They've looked at Postgres.js (https://github.com/porsager/postgres) before — wouldn't mind if they enabled those other cases in the same way.
What are some alternatives?
odyssey - Scalable PostgreSQL connection pooler
pg-promise - PostgreSQL interface for Node.js
asyncpg - A fast PostgreSQL Database Client Library for Python/asyncio.
trpc - 🧙♀️ Move Fast and Break Nothing. End-to-end typesafe APIs made easy.
pgcat - PostgreSQL pooler with sharding, load balancing and failover support. [Moved to: https://github.com/postgresml/pgcat]
slonik - A Node.js PostgreSQL client with runtime and build time type safety, and composable SQL.
TimescaleDB - An open-source time-series SQL database optimized for fast ingest and complex queries. Packaged as a PostgreSQL extension.
prisma-redis-middleware - Prisma Middleware for caching queries in Redis
pgcat - PostgreSQL pooler with sharding, load balancing and failover support.
MySQL - A pure node.js JavaScript Client implementing the MySQL protocol.
rds-auth-proxy - A "passwordless" login experience for your AWS RDS
PostgreSQL - PostgreSQL client for node.js.