#!/bin/bash

INSTALL=~/install/postgres
PGDATA=~/junk/pgdata

rm -fr $PGDATA

$INSTALL/bin/initdb -D $PGDATA
cat << EOF >> $PGDATA/postgresql.conf
  max_prepared_transactions = 1
EOF
$INSTALL/bin/pg_ctl -D $PGDATA -w start
$INSTALL/bin/psql postgres << EOF
  UPDATE pg_database SET datallowconn = true;
  CREATE TABLE foo AS SELECT 42 AS id;
  BEGIN;
  SELECT * FROM foo FOR SHARE;
  PREPARE TRANSACTION 'tx1';
EOF
( for ((i=0;i<2047;i++)) ; do echo "SELECT * FROM foo FOR SHARE;" ; done ) | $INSTALL/bin/psql postgres > /dev/null
$INSTALL/bin/psql postgres << EOF
  COMMIT PREPARED 'tx1';
EOF
$INSTALL/bin/vacuumdb --freeze --all

$INSTALL/bin/pg_ctl -D $PGDATA -w stop

