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

Revision 5818, 2.8 KB checked in by wmerlotto, 12 years ago (diff)

Ticket #2557 - Finalizada as correções para Debian Squeeze e Centos 6

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