Criando com rapidez um banco de dados no PostgreSQL

Publicado por Rodrigo 09/03/2007

[ Hits: 6.095 ]

Download inicializa-banco-rapido.sh




Esse script passa seis parametros para ser informado pelo usuário.
Ao final do processo, um banco de dados estará rodando no servidor com autenticação MD5 para logar no banco.

Esse script pode ajudar administradores de banco de dados PostgreSQL.

  



Esconder código-fonte

#!/bin/bash

# 1 = diretorio ; 2 = IP ; 3 = Porta ; 4 = Database_name ; 5 usuario ; 6 script

if [ -z $1 ] || [ -z $2 ] || [ -z $3 ] || [ -z $4 ] || [ -z $5 ] || [ -z $6 ]

   then
   echo
   #clear
   echo -ne "{FONTE}33[31m**********************************************************{FONTE}33[m\n"
   echo -ne '{FONTE}33[31mPara utilizar o script, forneca pelo menos seis parametros{FONTE}33[m\n'
   echo -ne "{FONTE}33[31m**********************************************************{FONTE}33[m\n"
   echo
   echo -ne "{FONTE}33[31mEsse é um script rapido para gerar um banco de dado no Postgres{FONTE}33[m\n"
   echo  -ne "{FONTE}33[31m./inicializa-banco-rapido.sh {DIR_BANCO}      {IP}       {PORTA}  {DATBASE_NAME} {USER_DATABSE } {PATH_SCRIPT}{FONTE}33[m\n"
   echo  -ne "{FONTE}33[31mExemplo:                     /opt/infra 192.168.1.133   5432         LIVROS        root       /opt/script.sh{FONTE}33[m\n"
   exit 0
fi

mkdir $1
chown -R postgres $1
chmod -R 700 $1

su postgres -c "/usr/local/pgsql/bin/initdb -D $1"

# Remove linha do diretório do banco
   sed -i '56d' $1/postgresql.conf
   sed -i '128d' $1/postgresql.conf

# Insere a linha apos um trecho de texto
  sed -i "/superuser_reserved_connections = 2/ a\unix_socket_directory= '$1'" $1/postgresql.conf
  sed -i "/# - Archiving -/ a\archive_command = 'cp -i %p /mnt/server/archivedir/%f </dev/null'" $1/postgresql.conf

# Remove comentarios das linhas 48,50,64
  sed -i "48 s/^#//" $1/postgresql.conf
  sed -i "50 s/^#//" $1/postgresql.conf
  sed -i "64 s/^#//" $1/postgresql.conf
  sed -i "128 s/^#//" $1/postgresql.conf

# Coloca IP
AUXIP=`cat $1/postgresql.conf | grep "localhost"  | awk '{print $3}' | head -n1`
echo $AUXIP > /tmp/file
IP=`cat /tmp/file | cut -f2 -d "'"`
INPUT=$2
sed -i "s/$IP/$INPUT/g" $1/postgresql.conf

PORT=5432

# Coloca porta
sed -i "s/$PORT/$3/g" $1/postgresql.conf

# Inicia Postgres
su postgres -c "/usr/local/pgsql/bin/pg_ctl -D $1 start" &> /dev/null

echo "Aguarde 5 segundos"
sleep 5

# Cria DATABASE
su postgres -c "/usr/local/pgsql/bin/createuser -p $3 -a -d $5 -h $1"
su postgres -c "/usr/local/pgsql/bin/createdb -p $3 -E LATIN1 $4 -h $1"
su postgres -c "/usr/local/pgsql/bin/psql -p $3 -d $4 -U $5 -h $1 -f $6"

#Coloca auth de senha, removendo o trust
sed -i '71,75 s/trust/md5/g' $1/pg_hba.conf
su postgres -c "/usr/local/pgsql/bin/pg_ctl -D $1 reload" &> /dev/null

Scripts recomendados

imtxt - Escrever texto em imagens

Instalador de Joystick

uniq.sed: Emulando o uniq com sed

SED: Números por extenso

Descompactando arquivos


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts