Script Iniciador do PostgreSQL

Publicado por 23/08/2004

[ Hits: 7.049 ]

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

Script para montar dispositivo Android

Backup automático MySQL + arquivos do servidor web

Ver endereço IP externo com DuckDuckGo + wget

Script para compactar e descompactar arquivos

apaga_arquivos.sh


  

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