Tip
If you already have a YugabyteDB instance running, skip the steps to set up and clean up YugabyteDB.
-
Ensure the native Arrow GLib and ADBC GLib libraries required by
red-adbcare installed and discoverable. Ifbundle installreports missingarrow,arrow-glib, oradbc-glib, use the platform-specific commands below.macOS with Homebrew
brew install apache-arrow-glib apache-arrow-adbc-glib
Debian/Ubuntu
sudo apt install libarrow-glib-dev libadbc-glib-dev
RHEL-compatible distributions
sudo dnf install arrow-glib-devel adbc-glib-devel
Windows with RubyInstaller/MSYS2 UCRT64
pacman -S --needed mingw-w64-ucrt-x86_64-arrow mingw-w64-ucrt-x86_64-arrow-adbc-glib
If you use a different MSYS2 environment, adjust the package prefix to match it; for example, use
mingw-w64-x86_64-*from the MINGW64 shell. -
Install Ruby dependencies:
bundle install
If you have multiple Ruby installations, ensure
rubyandbundleresolve to the same installation before running this command.
-
Start a YugabyteDB instance:
docker run -d --rm --name yugabyte \ -p 9999:9999 -p 9000:9000 -p 15433:15433 -p 5433:5433 -p 9042:9042 \ yugabytedb/yugabyte:2025.2.0.0-b131 bin/yugabyted start --master_webserver_port=9999 \ --background=false
-
Install the PostgreSQL ADBC driver:
dbc install --level user postgresql
-
Customize the Ruby script
main.rbas needed- Change the connection arguments in
database.set_option()- Format
uriaccording to the connection URI format used by PostgreSQL, or keep it as is
- Format
- If you changed which database you're connecting to, also change the SQL SELECT statement in
connection.query()
- Change the connection arguments in
-
Run the Ruby script:
bundle exec ruby main.rb
Stop the Docker container running YugabyteDB:
docker stop yugabyte