Re: [GENERAL] PL/pgSQL

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: olly(at)lfix(dot)co(dot)uk (Oliver Elphick)
Cc: ser(at)nsu(dot)ru, Pgsql-General(at)hub(dot)org
Subject: Re: [GENERAL] PL/pgSQL
Date: 1998-12-13 05:23:43
Message-ID: 199812130523.AAA15450@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Added to src/pl/plpgsql in both trees. It is not installed
automatically. Can someone figure out how this should be handled?

> Bruce Momjian wrote:
> >> First: I have to install plpgsql language on every database,
> >> I wonder, if I can install it for everyone.
> >
> >If you put it in template1, then every new database gets it.
>
> As a contribution, here is a script to do this for existing databases
> (including template1):
>
> =================== begin script enable_pgpl ==============================
> #!/bin/sh
>
> # Enable the PL procedural language for PostgreSQL in one or more
> # existing databases.
> #
> # This script should be run by the PostgreSQL superuser
>
> enable_database() {
> if ! psql -d $1 -qtc "select count(*) from pg_language where lanname='plpgsql'" >$TMPFIL2 2>&1
> then
> echo "Cannot connect to $1"
> exit 2
> fi
> if [ `cat $TMPFIL2` -eq 0 ]
> then
> if ! psql -d $1 <$sqlfile
> then
> echo "Failed to add PL to $1"
> exit 2
> fi
> echo "PL added to $1"
> else
> echo "PL is already enabled in $1"
> fi
>
> }
>
> # Execution starts here
>
> TMPFILE=`mktemp /tmp/enable_pgpl.XXXXXX`
> TMPFIL2=`mktemp /tmp/enable_pgpl.XXXXXX`
> trap "rm $TMPFILE $TMPFIL2" EXIT
>
> sqlfile=${PGLIB:=/usr/local/pgsql/lib}/mklang_pl.sql
> if [ ! -f $sqlfile ]
> then
> echo "Cannot find mklang_pl.sql"
> exit 2
> fi
>
> if [ -z "$1" ]
> then
> echo "Syntax: $0 --all | database ..."
> exit 1
> fi
>
> if [ $1 = "--all" ]
> then
> if ! psql -t -c "select datname from pg_database order by datname" >$TMPFILE
> then
> echo Cannot select databases
> exit 2
> fi
> for db in `cat $TMPFILE`
> do
> enable_database $db
> done
> else
> while [ -n "$1" ]
> do
> db=$1
> enable_database $db
> shift
> done
> fi
> ========================= end ================================
>
> --
> Oliver Elphick Oliver(dot)Elphick(at)lfix(dot)co(dot)uk
> Isle of Wight http://www.lfix.co.uk/oliver
> PGP key from public servers; key ID 32B8FAA1
> ========================================
> "Be of good courage, and he shall strengthen your
> heart, all ye that hope in the LORD."
> Psalms 31:24
>
>
>

--
Bruce Momjian | http://www.op.net/~candle
maillist(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Clark Evans 1998-12-13 06:55:13 Introduction: Accounting/Bookeeping Project
Previous Message Bruce Momjian 1998-12-13 04:44:59 Re: [GENERAL] Announce: PyGreSQL 2.2