Criando com rapidez um banco de dados no PostgreSQL
Publicado por Rodrigo 09/03/2007
[ Hits: 6.362 ]
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.
#!/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
Conexão Modem speedtouch + Backtrack
Verifica os maiores arquivos no diretório informado
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
\Boot sem espaço em disco (Fedora KDE Plasma 42) (0)
Mint Xfce não mantém a conexão no wi-fi (2)
Problemas com Driver NVIDIA (5)









