github.com/jackc/pgx/v5@v5.5.5/ci/setup_test.bash (about) 1 #!/usr/bin/env bash 2 set -eux 3 4 if [[ "${PGVERSION-}" =~ ^[0-9.]+$ ]] 5 then 6 sudo apt-get remove -y --purge postgresql libpq-dev libpq5 postgresql-client-common postgresql-common 7 sudo rm -rf /var/lib/postgresql 8 wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - 9 sudo sh -c "echo deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main $PGVERSION >> /etc/apt/sources.list.d/postgresql.list" 10 sudo apt-get update -qq 11 sudo apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::="--force-confnew" install postgresql-$PGVERSION postgresql-server-dev-$PGVERSION postgresql-contrib-$PGVERSION 12 13 sudo cp testsetup/pg_hba.conf /etc/postgresql/$PGVERSION/main/pg_hba.conf 14 sudo sh -c "echo \"listen_addresses = '127.0.0.1'\" >> /etc/postgresql/$PGVERSION/main/postgresql.conf" 15 sudo sh -c "cat testsetup/postgresql_ssl.conf >> /etc/postgresql/$PGVERSION/main/postgresql.conf" 16 17 cd testsetup 18 19 # Generate CA, server, and encrypted client certificates. 20 go run generate_certs.go 21 22 # Copy certificates to server directory and set permissions. 23 sudo cp ca.pem /var/lib/postgresql/$PGVERSION/main/root.crt 24 sudo chown postgres:postgres /var/lib/postgresql/$PGVERSION/main/root.crt 25 sudo cp localhost.key /var/lib/postgresql/$PGVERSION/main/server.key 26 sudo chown postgres:postgres /var/lib/postgresql/$PGVERSION/main/server.key 27 sudo chmod 600 /var/lib/postgresql/$PGVERSION/main/server.key 28 sudo cp localhost.crt /var/lib/postgresql/$PGVERSION/main/server.crt 29 sudo chown postgres:postgres /var/lib/postgresql/$PGVERSION/main/server.crt 30 31 cp ca.pem /tmp 32 cp pgx_sslcert.key /tmp 33 cp pgx_sslcert.crt /tmp 34 35 cd .. 36 37 sudo /etc/init.d/postgresql restart 38 39 createdb -U postgres pgx_test 40 psql -U postgres -f testsetup/postgresql_setup.sql pgx_test 41 fi 42 43 if [[ "${PGVERSION-}" =~ ^cockroach ]] 44 then 45 wget -qO- https://binaries.cockroachdb.com/cockroach-v23.1.3.linux-amd64.tgz | tar xvz 46 sudo mv cockroach-v23.1.3.linux-amd64/cockroach /usr/local/bin/ 47 cockroach start-single-node --insecure --background --listen-addr=localhost 48 cockroach sql --insecure -e 'create database pgx_test' 49 fi 50 51 if [ "${CRATEVERSION-}" != "" ] 52 then 53 docker run \ 54 -p "6543:5432" \ 55 -d \ 56 crate:"$CRATEVERSION" \ 57 crate \ 58 -Cnetwork.host=0.0.0.0 \ 59 -Ctransport.host=localhost \ 60 -Clicense.enterprise=false 61 fi