I’m having trouble getting a build working with Postgresql 11.2. As with previous attempts, the latest build fails when an attempt is made to run a command via psql
.
Here’s the configuration:
env:
global:
- CC_TEST_REPORTER_ID=eca569d89e2a8d954a3e28ef958ce10e912eef6570bbdabbb28297e11948efa8
language: ruby
before_install:
- gem update --system
- gem install bundler
rvm:
- 2.6.2
services:
- postgresql
dist:
- xenial
addons:
postgresql: "11.2"
apt:
packages:
- postgresql-11
before_script:
- psql -c "select * from pg_settings where name = 'port';"
- psql -c 'create database kpdotcom_test;' -U postgres
- cp config/database.yml.travis config/database.yml
- bundle exec rake db:schema:load
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
- chmod +x ./cc-test-reporter
- ./cc-test-reporter before-build
script:
- bundle exec rake
after_script:
- ./cc-test-reporter after-build -t simplecov --exit-code $TRAVIS_TEST_RESULT
I cannot figure out what is preventing psql
from finding the Postgresql 11.2 service. Any help would be very much appreciated.
Without looking into too much details yet, it appears to me that the package is found and configured to run on the next-available port, 5433: https://travis-ci.org/keithpitty/kpdotcom/builds/507439479#L231.
I would imagine that your psql
by default will connect to port 5432, but nothing is listening on that port.
Hi Hiro,
Thanks for your reply. I tried your suggestion by setting PGPORT=5433
but unfortunately psql
is still not connecting: https://travis-ci.org/keithpitty/kpdotcom/builds/508095041.
There must be something else I’m missing.
Keith
Actually, I see that psql
is still looking for the PostgreSQL server on port 5432 so setting the PGPORT
environment variable has not had any effect.
I had this problem too. Here’s the config file that fixed it for me:
This script:
- Shuts down all 9.* postgreSQL databases
- installs 11.2 (at the time of this writing)
- copies the authentication information from the old 9.6 configuration
- creates a role called “travis”
language: ruby
rvm: 2.6.2
before_install:
- sudo apt-get update
- sudo apt-get --yes remove postgresql\*
- sudo apt-get install -y postgresql-11 postgresql-client-11
- sudo cp /etc/postgresql/{9.6,11}/main/pg_hba.conf
- sudo service postgresql restart 11
before_script:
- psql --version
- psql -c 'CREATE DATABASE {{your database name here}};' -U postgres
- psql -c 'CREATE ROLE travis SUPERUSER LOGIN CREATEDB;' -U postgres
- cp config/database.yml.travis config/database.yml
script: bundle exec rake spec
services:
- postgresql
addons:
postgresql: "11.2"
2 Likes
Thanks very much for your response, @jondoesntgit. Much appreciated. And apologies for the delay in replying. You’re suggestion worked for me!
I was stuck on this issue for like 3 hours, and your comment solved it, thank you so much @jondoesntgit
That’s really helpful! thanks for share.