Criando com rapidez um banco de dados no PostgreSQL
Publicado por Rodrigo 09/03/2007
[ Hits: 6.442 ]
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
Alteração rápida de permissões, e usuários
Sed: Numero Par ou Impar de Linhas
brasil telecom servidor de adsl autenticaçao
Gerar TinyURL (URL curta) para postar no Twitter
Nenhum comentário foi encontrado.
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
OCS Inventory NG: Instalação de Agentes Linux e Windows + Autenticação HTTP
O Free Download Manager não abre no Fedora 43 KDE Plasma (2)
O que houve com slackware ??? (9)
Permissão acesso as pastas servidor Ubuntu Server 24.04 (5)









