source: branches/2.4/INSTALL/arquivos/scripts/bd.sh @ 7293

Revision 7293, 3.7 KB checked in by eduardow, 12 years ago (diff)

Ticket #3123 - Correções auxiliares em todo o instalador.

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*
[7293]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"
[6173]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
[5818]23       
[5797]24
[5818]25        cp -f $PG_CONF $DIR_CONF/
26        cp -f $PG_HBA $DIR_CONF/
[5797]27}
28
[5818]29# Cria a base de dados e importa os SQLs padroes
[5797]30create_db ()
31{
[7293]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; }
[5797]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"
[5818]42        DIR_CONF="$4"
[5797]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
[5818]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
[5797]58
59        /etc/init.d/postgresql start
60
61        # Inicializa a base de dados do Expresso
62        create_db
63}
64
[6261]65bd_debian_6 ()
[5797]66{
[5818]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
[5797]71}
72
[5836]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
[6173]91        bd $DIR_PG $PG_CONF $PG_HBA $DIR_CONF
[7293]92        #rm -f $DIR_PG/{postgresql.conf,pg_hba.conf}
[5836]93        /etc/init.d/postgresql start
94
95        # Inicializa a base de dados do Expresso
96        create_db
97}
98
[6261]99bd_ubuntu_1110 ()
[5836]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
[5797]107# Parametros: Iguais a funcao bd;
108bd_rhel ()
109{
110        DIR_PG="$1"
111        PG_CONF="$2"
112        PG_HBA="$3"
[5818]113        DIR_CONF="$4"
[5797]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
[5818]122        bd $DIR_PG/data $PG_CONF $PG_HBA $DIR_CONF
[5797]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
[6261]134bd_rhel_6 ()
[5797]135{
136        DIR_PG="/var/lib/pgsql"
[5818]137        DIR_CONF="$DIR_PG/data"
[5797]138        RHEL6=rhel/6/var/lib/pgsql/data
[5818]139        bd_rhel $DIR_PG $RHEL6/postgresql.conf $RHEL6/pg_hba.conf $DIR_CONF
[5797]140}
Note: See TracBrowser for help on using the repository browser.