source: trunk/INSTALL/arquivos/scripts/bd.sh @ 6261

Revision 6261, 3.9 KB checked in by wmerlotto, 12 years ago (diff)

Ticket #2557 - Correcoes no instalador conforme sugestao no forum

RevLine 
[5797]1
2# Servico Banco de Dados (Postrgres)
3
4# Comum a todas as distros
5
[5818]6# Parametro 1: Destino (completo) de onde ficarao os dados do Postges (data)
[5797]7# Parametro 2: Nome do arquivo modelo de configuração do Postgres (postgres.conf)
8# Parametro 3: Nome do arquivo modelo de configuracao de acessos do Postgres (pg_hba.conf)
[5818]9# Parametro 4: Destino (completo) de onde ficarao os arquivos de configuracao do Postgres
[5797]10# Exemplo: bd /var/lib/pgsql/data
11bd () {
12        DIR_PG=$1
13        PG_CONF=$2
14        PG_HBA=$3
[5818]15        DIR_CONF=$4
[5797]16        get_org
17        get_pass
18       
[5818]19        rm -rf $DIR_PG*
[6173]20        su - postgres -c "env LANG=pt_BR.ISO-8859-1 initdb --encoding=LATIN1 -D $DIR_PG"
21        #su - postgres -c "export LANG=pt_BR.ISO-8859-1; initdb --encoding=LATIN1 -D $DIR_PG"
[5836]22        #su - postgres -c "env LANG=LATIN1 initdb --locale=pt_BR.iso88591 --encoding=LATIN1 -D $DIR_PG"
[6173]23        sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s/LDAP_PWD/$LDAP_PWD/g" -e "s/ou=ORG/ou=$ORG/g" -e "s/DOMAIN/$DOMAIN/g" $ARQS/expresso.dump > /tmp/expresso.dump
[5818]24       
[5797]25
[5818]26        cp -f $PG_CONF $DIR_CONF/
27        cp -f $PG_HBA $DIR_CONF/
[5797]28}
29
[5818]30# Cria a base de dados e importa os SQLs padroes
[5797]31create_db ()
32{
33        su - postgres -c 'dropdb expresso'  || { echo "Banco expresso não existia. [OK]"; }
34        su - postgres -c 'createdb -E LATIN1 expresso'  || { echo "Falha na criação do banco expresso."; exit 1; }
35        su - postgres -c 'psql -f /tmp/expresso.dump expresso'
36}
37
38bd_debian ()
39{
40        DIR_PG="$1"
41        PG_CONF="$2"
42        PG_HBA="$3"
[5818]43        DIR_CONF="$4"
[5797]44        # Instala os pacotes do servico
45        apt-get install -y postgresql postgresql-common postgresql-client postgresql-client-common
46        /etc/init.d/postgresql stop
47        # Gera um link do initdb, para padronizar com o Centos
48        ln -sf /usr/lib/postgresql/8.4/bin/initdb /usr/bin/
49        # Faz backup da base do Postgres
50        mv $DIR_PG $DIR_PG.`date +"%s"`
51        mkdir -p $DIR_PG/main
52
53        chown -R postgres:postgres $DIR_PG
54        chmod -R 770 $DIR_PG
55
[5818]56        bd $DIR_PG $PG_CONF $PG_HBA $DIR_CONF
57        rm -f $DIR_PG/postgresql.conf
58        rm -f $DIR_PG/pg_hba.conf
[5797]59
60        /etc/init.d/postgresql start
61
62        # Inicializa a base de dados do Expresso
63        create_db
64}
65
[6261]66bd_debian_6 ()
[5797]67{
[5818]68        DIR_PG="/var/lib/postgresql/8.4/main"
69        DIR_CONF="/etc/postgresql/8.4/main"
70        SQUEEZE=debian/squeeze/$DIR_CONF
71        bd_debian $DIR_PG $SQUEEZE/postgresql.conf $SQUEEZE/pg_hba.conf $DIR_CONF
[5797]72}
73
[5836]74bd_ubuntu ()
75{
76        DIR_PG="$1"
77        PG_CONF="$2"
78        PG_HBA="$3"
79        DIR_CONF="$4"
80        # Instala os pacotes do servico
81        apt-get install -y postgresql postgresql-common postgresql-client postgresql-client-common
82        /etc/init.d/postgresql stop
83        # Gera um link do initdb, para padronizar com o Centos
84        ln -sf /usr/lib/postgresql/9.1/bin/initdb /usr/bin/
85        # Faz backup da base do Postgres
86        mv $DIR_PG $DIR_PG.`date +"%s"`
87
88        mkdir -p $DIR_PG/main
89        chown -R postgres:postgres $DIR_PG
90        chmod -R 770 $DIR_PG
91
[6173]92        bd $DIR_PG $PG_CONF $PG_HBA $DIR_CONF
[5836]93        #rm -f $DIR_PG/postgresql.conf
94        #rm -f $DIR_PG/pg_hba.conf
95        /etc/init.d/postgresql start
96
97        # Inicializa a base de dados do Expresso
98        create_db
99}
100
[6261]101bd_ubuntu_1110 ()
[5836]102{
103        DIR_PG="/var/lib/postgresql/9.1/main"
104        DIR_CONF="/etc/postgresql/9.1/main"
105        UBUNTU=ubuntu/11.10/$DIR_CONF
106        bd_ubuntu $DIR_PG $UBUNTU/postgresql.conf $UBUNTU/pg_hba.conf $DIR_CONF
107}
108
[5797]109# Parametros: Iguais a funcao bd;
110bd_rhel ()
111{
112        DIR_PG="$1"
113        PG_CONF="$2"
114        PG_HBA="$3"
[5818]115        DIR_CONF="$4"
[5797]116        # Instala os pacotes do servico
117        yum -y install postgresql postgresql-server
118        service postgresql stop
119        # Faz backup da base do Postgres
120        mv $DIR_PG $DIR_PG.`date +"%s"`
121        mkdir -p $DIR_PG/data
122        chown -R postgres:postgres $DIR_PG
123
[5818]124        bd $DIR_PG/data $PG_CONF $PG_HBA $DIR_CONF
[5797]125
126        chown -R postgres:postgres $DIR_PG
127        chmod 700 $DIR_PG
128
129        service postgresql start
130        chkconfig postgresql on
131
132        # Inicializa a base de dados do Expresso
133        create_db
134}
135
[6261]136bd_rhel_6 ()
[5797]137{
138        DIR_PG="/var/lib/pgsql"
[5818]139        DIR_CONF="$DIR_PG/data"
[5797]140        RHEL6=rhel/6/var/lib/pgsql/data
[5818]141        bd_rhel $DIR_PG $RHEL6/postgresql.conf $RHEL6/pg_hba.conf $DIR_CONF
[5797]142}
Note: See TracBrowser for help on using the repository browser.