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