diff --git a/pgtest.sh b/pgtest.sh
index 692de5e610abdb27bb5c72b1d702241d560c9163..8cbb27cacddcca65b173a74ea5d5adbc272442b3 100755 (executable)
--- a/pgtest.sh
+++ b/pgtest.sh
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-PG_CONFIG=`which pg_config`
+if test -z "$PG_CONFIG"; then
+ PG_CONFIG=`which pg_config`
+fi
if test -z "$PG_CONFIG"; then
echo "pg_config not found!" >&2
exit 1
fi
-BIN_DIR=`pg_config --bindir`
+BIN_DIR=`$PG_CONFIG --bindir`
if test -z "$TARGET"; then
TARGET=`pwd`/target
fi
mkdir -p $TARGET/var/run/postgresql
mkdir -p $TARGET/var/log/postgresql/main
$BIN_DIR/initdb -D $TARGET/var/lib/postgresql/main
- sed -r -i -e 's/^#port = 5432/port = 5435/' \
+ sed -r -i -e 's/^#port = 5432/port = 2345/' \
$TARGET/var/lib/postgresql/main/postgresql.conf
sed -r -i -e "s/^#dynamic_library_path = '\\\$libdir'/dynamic_library_path = '\$libdir:$PWD_esc\/src'/" $TARGET/var/lib/postgresql/main/postgresql.conf
sed -r -i -e "s/^#unix_socket_directory = ''/unix_socket_directory = '$TARGET_esc\/var\/run\/postgresql'/" $TARGET/var/lib/postgresql/main/postgresql.conf
$0 start -B
- $BIN_DIR/createdb -e -h $TARGET/var/run/postgresql/ -p 5435 tokkee
+ $BIN_DIR/createdb -e -h $TARGET/var/run/postgresql/ -p 2345 "$( id -un )"
$0 stop
;;
client)
fi
fi
shift
- $BIN_DIR/psql -h $TARGET/var/run/postgresql/ -p 5435 "$@"
+ $BIN_DIR/psql -h $TARGET/var/run/postgresql/ -p 2345 "$@"
;;
stop)
if test $# -ne 1; then
echo "Too many arguments!" >&2
- echo "Usage: $0 setup" >&2
+ echo "Usage: $0 stop" >&2
exit 1
fi
$BIN_DIR/pg_ctl -D $TARGET/var/lib/postgresql/main stop
$BIN_DIR/postgres -D $TARGET/var/lib/postgresql/main "$@"
fi
;;
+ restart)
+ $0 stop && $0 start -B
+ ;;
*)
echo "Usage: $0 setup|client|stop|start" >&2
+ echo ""
+ echo " - setup"
+ echo " Set up a new PostgreSQL server listening on port 2345."
+ echo " - client [<psql args>]"
+ echo " Start a PostgreSQL interactive terminal connected to the"
+ echo " PostgreSQL server on port 2345."
+ echo " - start [-B [<postgres args>]]"
+ echo " Start the PostgreSQL server."
+ echo " - stop"
+ echo " Stop the PostgreSQL server."
+ echo " - restart"
+ echo " Restart a background PostgreSQL server process."
+ echo ""
+ echo "Environment variables:"
+ echo " - TARGET"
+ echo " Target directory of the PostgreSQL test setup."
+ if test "$1" = "help"; then
+ exit 0
+ fi
exit 1
;;
esac