Re: [GENERAL] PL/pgSQL

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [GENERAL] PL/pgSQL
Дата
Msg-id 199812130523.AAA15450@candle.pha.pa.us
обсуждение исходный текст
Ответ на Re: [GENERAL] PL/pgSQL  ("Oliver Elphick" <olly@lfix.co.uk>)
Список 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.Elphick@lfix.co.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@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

В списке pgsql-general по дате отправления:

Предыдущее
От: "Oliver Elphick"
Дата:
Сообщение: Re: locale in postgresql
Следующее
От: Clark Evans
Дата:
Сообщение: Introduction: Accounting/Bookeeping Project