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

Revision 5797, 2.6 KB checked in by wmerlotto, 12 years ago (diff)

Ticket #2557 - Primeira versao do novo instalador do Expresso

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