Script Iniciador do PostgreSQL

Publicado por 23/08/2004

[ Hits: 6.891 ]

Download pg




Script que serve para inicializar, parar e verificar instalação do PostgreSQL que está rodando por meio do Cygwin

  



Esconder código-fonte

#! /bin/sh
#
# PostgreSQL 7.1.3
# Este é o script start e stop do servidor PostgreSQL
# exclusivo para uso no cygwin - cygipc.
# 
# Criação    : 13/Ago/2004(sexta-feira)
#
# Versão     : 1.0.1
#
# Ronaldo de Oliveira Ramos - ronaldo@sadepe.com.br
# Sadepe Informatica - www.sadepe.com.br
#

# Cria a variável CYGWIN

export CYGWIN=server

# pasta de instalação do servidor e arquivos de log

PGDATA=/var/lib/pgsql/data
LOGSTART=/var/lib/pgsql/data/logfile

# testa se o servidor foi instalado

if [ ! -f /usr/bin/postmaster ] ; then
  echo "PostgreSQL não foi instalado"
  exit 1
fi
if [ ! -f /usr/local/bin/ipc-daemon.exe ] ; then
  echo "CygIpc não foi instalado"
  exit 1
fi

# start no servidor

if [ "$1" = "start" ] ; then

  # verifica se postmaster está ativo

  RODAPG=$(ps | grep postgres)
  if [ "$RODAPG" != "" ] ; then
    echo "Postmaster já está ativo."
    exit 1
  fi

  if [ ! -f $PGDATA/PG_VERSION ] && [ ! -d $PGDATA ] ; then

    echo "Criando repositório de dados..."
    # Cria o repositório de dados
    /usr/bin/initdb --pgdata=/var/lib/pgsql/data
    sleep 5
    # cria arquivo de log vazio se não existir
    touch $LOGSTART
    # inicializa o postgres pela 1ª vez
    echo "Inicializando o servidor PostgreSQL pela 1ª vez..."
    /bin/pg_ctl -D /var/lib/pgsql/data start >> $LOGSTART
    sleep 5
    createdb postgres

  else

    echo "Inicializando servidor PostgreSQL..."
    rm -f /tmp/.s.PGSQL.* > /dev/null
    /bin/pg_ctl -D /var/lib/pgsql/data start >> $LOGSTART

  fi

  sleep 5

  # verifica se postmaster está ativo

  RODAPG=$(ps | grep postgres)
  if [ "$RODAPG" != "" ] ; then
    echo "O servidor PostgreSQL foi INICIADO com sucesso"
  else
    echo "ERRO: Não foi possível inicializar o servidor PostgreSQL"
  fi

fi


# stop no servidor

if [ "$1" = "stop" ] ; then

  # verifica se postmaster está ativo

  RODAPG=$(ps | grep postgres)
  if [ "$RODAPG" = "" ] ; then
    echo "Postmaster não está ativo."
    exit 1
  fi

  echo "Parando o servidor PostgreSQL..."
  /bin/pg_ctl stop -D $PGDATA -s -m fast

  RODAPG=$(ps | grep POSTGRES)
  if [ "$RODAPG" = "" ] ; then
    rm -f $PGDATA/postmaster.pid
    echo "O servidor PostgreSQL foi PARADO com sucesso"
  fi

fi

# alerta sobre parametro correto

if [ "$1" != "start" ] && [ "$1" != "stop" ]
then
  echo "Use uma das duas opcoes: pg {start|stop}"
fi

#
# fim
#

Scripts recomendados

Monitorando tentativas de conexões

arcade.sh - front-end para AdvanceMAME

Firewall Iptables Desktop

Fazendo backup de vários arquivos no LINUX

Ripar um CD de áudio


  

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