File: mktemplate_gis.in

package info (click to toggle)
postgis 3.5.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, trixie
  • size: 70,052 kB
  • sloc: ansic: 162,204; sql: 93,950; xml: 53,121; cpp: 12,646; perl: 5,658; sh: 5,369; makefile: 3,434; python: 1,205; yacc: 447; lex: 151; pascal: 58
file content (67 lines) | stat: -rw-r--r-- 2,426 bytes parent folder | download | duplicates (14)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/bin/sh

#create a template database, named template_gis by default,
#and grant ownership or full privileges to the postgis tables to a user, postgres by default

source @bindir@/postgis_env.sh

for ARGVN in $1 $2 $3 $4 $5 $6 ; do
    if [ `expr substr $ARGVN 1 7` = "--user=" ]; then
		GRUSER=`echo $ARGVN | sed -e s/^--user=//`
    elif [ `expr substr $ARGVN 1 11` = "--template=" ]; then
	 	TDB=`echo $ARGVN | sed -e s/^--template=//`
	elif [ `expr substr $ARGVN 1 6` = "--dba=" ]; then
		DBAUSER=`echo $ARGVN | sed -e s/^--dba=//`
	elif [ `expr substr $ARGVN 1 9` = "--script=" ]; then
		PGISSCRIPT=`echo $ARGVN | sed -e s/^--script=//`
	elif [ "$ARGVN" = "--no-srs" ]; then
		NO_SRS="true"
	elif [ "$ARGVN" = "--no-topo" ]; then
		NO_TOPO="true"
    elif [ -n $ARGVN ]; then
        echo "Usage of `basename $0`"
        echo "Supply arguments as follows"
        echo "--user=username to own or be grant privileges on databases"
		echo "      created from template"
        echo "--template=templatename of the template to create"
		echo "--dba=dbaname of the dba to run administrational programs as"
		echo "--script=script to load postgis functions in the database"
		echo "      if no directory given, default is @datadir@/"
		echo "--no-srs: use this option to not load the huge spatial_ref_sys.sql"
		echo "--no-topo: use this option to not load the topology functionality"
		echo "You must usually be either root, or a postgresql dba or the"
		echo "cluster owner in order to use `basename $0`"
        exit 1
    fi
done

if [ -z "`echo $PGISSCRIPT | grep /`" ]; then
	PGISSCRIPT="@datadir@/${PGISSCRIPT}"
fi

GRTABLES="geometry_columns"
GRSCHEMAS=""
SCRIPTS=$PGISSCRIPT

if [ ! "$NO_SRS" = "true" ]; then
	GRTABLES="${GRTABLES} spatial_ref_sys"
	SCRIPTS="${SCRIPTS} @datadir@/spatial_ref_sys.sql"
fi
if [ ! "$NO_TOPO" = "true" ]; then
	GRTABLES="${GRTABLES} topology.topology topology.layer topology.topology_id_seq"
	GRSCHEMAS="${GRSCHEMAS} topology"
    TMPTOPO=/tmp/topology_$$.sql
	cat @datadir@/topology.sql | awk -v GRUSER=$GRUSER \
	'{ \
		if (tolower($1)=="create" && tolower($2)=="schema" && match(tolower($3),"topology;?")) \
		{print "create schema topology authorization "GRUSER";"}else print; \
    }' > ${TMPTOPO}
    SCRIPTS="${SCRIPTS} ${TMPTOPO}"
fi

source @bindir@/postgres_lib.sh

sudo_dba DBAUSER

export SCRIPTS GRTABLES GRSCHEMAS GRUSER DBAUSER TDB
$SUDO -c "@bindir@/mktemplate_gis.sh"