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

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 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"
22        #su - postgres -c "env LANG=LATIN1 initdb --locale=pt_BR.iso88591 --encoding=LATIN1 -D $DIR_PG"
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
24       
25
26        cp -f $PG_CONF $DIR_CONF/
27        cp -f $PG_HBA $DIR_CONF/
28}
29
30# Cria a base de dados e importa os SQLs padroes
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"
43        DIR_CONF="$4"
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
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
59
60        /etc/init.d/postgresql start
61
62        # Inicializa a base de dados do Expresso
63        create_db
64}
65
66bd_debian_6 ()
67{
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
72}
73
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
92        bd $DIR_PG $PG_CONF $PG_HBA $DIR_CONF
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
101bd_ubuntu_1110 ()
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
109# Parametros: Iguais a funcao bd;
110bd_rhel ()
111{
112        DIR_PG="$1"
113        PG_CONF="$2"
114        PG_HBA="$3"
115        DIR_CONF="$4"
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
124        bd $DIR_PG/data $PG_CONF $PG_HBA $DIR_CONF
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
136bd_rhel_6 ()
137{
138        DIR_PG="/var/lib/pgsql"
139        DIR_CONF="$DIR_PG/data"
140        RHEL6=rhel/6/var/lib/pgsql/data
141        bd_rhel $DIR_PG $RHEL6/postgresql.conf $RHEL6/pg_hba.conf $DIR_CONF
142}
Note: See TracBrowser for help on using the repository browser.