ruby-pg
tipi
Our great sponsors
ruby-pg | tipi | |
---|---|---|
9 | 3 | |
751 | 239 | |
- | 1.7% | |
7.5 | 4.5 | |
7 days ago | 2 months ago | |
C | Ruby | |
GNU General Public License v3.0 or later | 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.
ruby-pg
-
Test Driving a Rails API - Part One
If you installed Postgres via Homebrew, you need to configure bundler so that when it installs the pg gem, it knows where to find the pg_config executable, which is installed as part of Postgres. The pg gem is the Ruby interface to Postgres and requires pg_config during installation. We can use this command to configure bundler so that it can find it and successfully install pg.
-
It's not Ruby that's slow, it's your database
Before we proceed, are you aware that a lot of popular database drivers for Ruby (and Python? not sure) implement the performance-critical bits in good old natively compiled C?
For example, the Ruby postgres gem: https://github.com/ged/ruby-pg/tree/master/ext
(I wasn't sure until I checked just now, so I'm not questioning your familiarity with the tech. Just not sure if that's commonly known)
So no, it's not the database, it's your interpreted language.
-
Insert CSV Rows into a Database Using Vanilla Ruby
$ gem info pg *** LOCAL GEMS *** pg (1.3.4) Authors: Michael Granger, Lars Kanis Homepage: https://github.com/ged/ruby-pg License: BSD-2-Clause Installed at: /Users/jvon1904/.rvm/gems/ruby-3.0.3 Pg is the Ruby interface to the PostgreSQL RDBMS
- Explaining Ruby Fibers
-
Is it possible to lazy load a long text from the database?
The low level pg gem has support for Postgres streaming, but this is row-based. You're wanting to stream effectively from a single field, which Postgres won't do for you.
-
49 Days of Ruby: Day 31 - Working with Databases
The ruby-pg gem provides an interface between your Ruby code and your PostgreSQL database.
-
How to fix "Bundler::GemRequireError" and "Gem Load Error is: AddDllDirectory failed" when switching from Sqlite3 to Postgres in Rails 6
set RUBY_DLL_PATH=/bin as in our CI before running the ruby app.
-
Ruby 3.0 and the new FiberScheduler interface
> each is in its own OS thread and GVL releases when the thread blocks.
The GVL isn't automatically released when a thread blocks on IO. Each bit of native code performing IO has to explicitly release it like in the pg gem here: https://github.com/ged/ruby-pg/blob/fb465855ce1dd12cf7eb69c9...
tipi
-
Explaining Ruby Fibers
can wait for https://github.com/digital-fabric/tipi to be ready :)
-
What's new in Polyphony and Tipi - August 2021 edition
Tipi is a new Polyphony-based web server for Ruby. Tipi provides out of the box support for HTTP/1, HTTP/2, and WebSocket. Tipi also provides SSL termination (support for HTTPS) with automatic certificate provisioning and automatic ALPN protocol selection.
-
What is the current state of event driven programming with fibers in ruby?
As far as tools based on Polyphony, currently there's Tipi, a web server based on Polyphony that is still in early stages of development, but already supports HTTP/1, HTTP/2, SSL termination and WebSockets, among other things.
What are some alternatives?
hypopg - Hypothetical Indexes for PostgreSQL
umbrel-apps - The official app repository of the Umbrel App Store. Submit apps and updates here. Learn how → https://github.com/getumbrel/umbrel-apps#readme
cubrid - CUBRID is a comprehensive open source relational database management system highly optimized for Web Applications.
Concurrent Ruby - Modern concurrency tools including agents, futures, promises, thread pools, supervisors, and more. Inspired by Erlang, Clojure, Scala, Go, Java, JavaScript, and classic concurrency patterns.
async-pool - Provides support for connection pooling both singleplex and multiplex resources.
Polyphony - Fine-grained concurrency for Ruby
pymgclient - Python Memgraph Client
CasaOS - CasaOS - A simple, easy-to-use, elegant open-source Personal Cloud system.
libsmb2 - SMB2/3 userspace client
db-mariadb
pgslice - Postgres partitioning as easy as pie
ruby3-tcp-server-mini-benchmark - ruby3-tcp-server-mini-benchmark