#!/bin/bash set -e set -o xtrace psql -e -h 127.0.0.1 -p 5432 -U postgres -f tests/sharding/query_routing_setup.sql ./target/debug/pgcat & sleep 1 # Setup PgBench pgbench -i -h 127.0.0.1 -p 6432 # Run it pgbench -h 127.0.0.1 -p 6432 -t 500 -c 2 --protocol simple # Extended protocol pgbench -h 127.0.0.1 -p 6432 -t 500 -c 2 --protocol extended # COPY TO STDOUT test psql -h 127.0.0.1 -p 6432 -c 'COPY (SELECT * FROM pgbench_accounts LIMIT 15) TO STDOUT;' > /dev/null # Query cancellation test (psql -h 127.0.0.1 -p 6432 -c 'SELECT pg_sleep(5)' || true) & killall psql -s SIGINT # Sharding insert psql -e -h 127.0.0.1 -p 6432 -f tests/sharding/query_routing_test_insert.sql # Sharding select psql -e -h 127.0.0.1 -p 6432 -f tests/sharding/query_routing_test_select.sql > /dev/null # Replica/primary selection & more sharding tests psql -e -h 127.0.0.1 -p 6432 -f tests/sharding/query_routing_test_primary_replica.sql > /dev/null # Test reload config kill -SIGHUP $(pgrep pgcat) # # ActiveRecord tests! # cd tests/ruby sudo gem install bundler bundle install ruby tests.rb # Attempt clean shut down killall pgcat -s SIGINT # Allow for graceful shutdown sleep 1