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

Revision 7278, 3.7 KB checked in by wmerlotto, 12 years ago (diff)

Ticket #3123 - Correcoes auxiliares em todo o instalador

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 "env LC_ALL=C initdb --encoding=LATIN1 -D $DIR_PG"
21        #su - postgres -c "env LANG=pt_BR.ISO-8859-1 initdb --encoding=LATIN1 -D $DIR_PG"
22        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
23       
24
25        cp -f $PG_CONF $DIR_CONF/
26        cp -f $PG_HBA $DIR_CONF/
27}
28
29# Cria a base de dados e importa os SQLs padroes
30create_db ()
31{
32        su - postgres -c 'dropdb expresso'  || { echo "Banco expresso nao existia. [OK]"; }
33        su - postgres -c 'createdb -E LATIN1 expresso'  || { echo "Falha na criacao do banco expresso."; exit 1; }
34        su - postgres -c 'psql -f /tmp/expresso.dump expresso'
35}
36
37bd_debian ()
38{
39        DIR_PG="$1"
40        PG_CONF="$2"
41        PG_HBA="$3"
42        DIR_CONF="$4"
43        # Instala os pacotes do servico
44        apt-get install -y postgresql postgresql-common postgresql-client postgresql-client-common
45        /etc/init.d/postgresql stop
46        # Gera um link do initdb, para padronizar com o Centos
47        ln -sf /usr/lib/postgresql/8.4/bin/initdb /usr/bin/
48        # Faz backup da base do Postgres
49        mv $DIR_PG $DIR_PG.`date +"%s"`
50        mkdir -p $DIR_PG/main
51
52        chown -R postgres:postgres $DIR_PG
53        chmod -R 770 $DIR_PG
54
55        bd $DIR_PG $PG_CONF $PG_HBA $DIR_CONF
56        rm -f $DIR_PG/postgresql.conf
57        rm -f $DIR_PG/pg_hba.conf
58
59        /etc/init.d/postgresql start
60
61        # Inicializa a base de dados do Expresso
62        create_db
63}
64
65bd_debian_6 ()
66{
67        DIR_PG="/var/lib/postgresql/8.4/main"
68        DIR_CONF="/etc/postgresql/8.4/main"
69        SQUEEZE=debian/squeeze/$DIR_CONF
70        bd_debian $DIR_PG $SQUEEZE/postgresql.conf $SQUEEZE/pg_hba.conf $DIR_CONF
71}
72
73bd_ubuntu ()
74{
75        DIR_PG="$1"
76        PG_CONF="$2"
77        PG_HBA="$3"
78        DIR_CONF="$4"
79        # Instala os pacotes do servico
80        apt-get install -y postgresql postgresql-common postgresql-client postgresql-client-common
81        /etc/init.d/postgresql stop
82        # Gera um link do initdb, para padronizar com o Centos
83        ln -sf /usr/lib/postgresql/9.1/bin/initdb /usr/bin/
84        # Faz backup da base do Postgres
85        mv $DIR_PG $DIR_PG.`date +"%s"`
86
87        mkdir -p $DIR_PG/main
88        chown -R postgres:postgres $DIR_PG
89        chmod -R 770 $DIR_PG
90
91        bd $DIR_PG $PG_CONF $PG_HBA $DIR_CONF
92        #rm -f $DIR_PG/{postgresql.conf,pg_hba.conf}
93        /etc/init.d/postgresql start
94
95        # Inicializa a base de dados do Expresso
96        create_db
97}
98
99bd_ubuntu_1110 ()
100{
101        DIR_PG="/var/lib/postgresql/9.1/main"
102        DIR_CONF="/etc/postgresql/9.1/main"
103        UBUNTU=ubuntu/11.10/$DIR_CONF
104        bd_ubuntu $DIR_PG $UBUNTU/postgresql.conf $UBUNTU/pg_hba.conf $DIR_CONF
105}
106
107# Parametros: Iguais a funcao bd;
108bd_rhel ()
109{
110        DIR_PG="$1"
111        PG_CONF="$2"
112        PG_HBA="$3"
113        DIR_CONF="$4"
114        # Instala os pacotes do servico
115        yum -y install postgresql postgresql-server
116        service postgresql stop
117        # Faz backup da base do Postgres
118        mv $DIR_PG $DIR_PG.`date +"%s"`
119        mkdir -p $DIR_PG/data
120        chown -R postgres:postgres $DIR_PG
121
122        bd $DIR_PG/data $PG_CONF $PG_HBA $DIR_CONF
123
124        chown -R postgres:postgres $DIR_PG
125        chmod 700 $DIR_PG
126
127        service postgresql start
128        chkconfig postgresql on
129
130        # Inicializa a base de dados do Expresso
131        create_db
132}
133
134bd_rhel_6 ()
135{
136        DIR_PG="/var/lib/pgsql"
137        DIR_CONF="$DIR_PG/data"
138        RHEL6=rhel/6/var/lib/pgsql/data
139        bd_rhel $DIR_PG $RHEL6/postgresql.conf $RHEL6/pg_hba.conf $DIR_CONF
140}
Note: See TracBrowser for help on using the repository browser.