sexta-feira, 31 de janeiro de 2014

Alterar diretório de dados PostgreSQL

Código:
parar o serviço do postgresql: service postgresql-9.3 stop
Edite o script start-up
Código:
root @ host # vi /etc/init.d/postgresql
Altere a variável PGDATA e PGLOG para onde quiser (mudanças em vermelho ) ...


Código:
# Definir padrões para as variáveis ​​de configuração
PGENGINE=/usr/bin
PGPORT=5432
PGDATA=/path/to/pgdata
if [ -f "$PGDATA/PG_VERSION" ] && [ -d "$PGDATA/base/template1" ]
then
        echo "Usando estrutura de diretórios de estilo antigo"
else
        PGDATA=/d2/pgdata
fi
PGLOG=/path/to/pgdata/pgstartup.log

# Override defaults from /etc/sysconfig/pgsql if file is present 
[ -f /etc/sysconfig/pgsql/${NAME} ] && . /etc/sysconfig/pgsql/${NAME}

export PGDATA
export PGPORT
Crie o diretório ... e definir as permissões
Código:
root @ host # mkdir-p /path/ to /pgdata
root @ host # chown postgres: postgres /path/to/pgdata
Inicializar o banco de dados ...
Código:
root @ host # su - postgres-c "initdb-D /path/ to /pgdata"
Agora você pode começar postgres
Código:
root @ host # service postgresql-9.3 start
Agora você pode verificar isso com o ps e você verá (em vermelho ) que a dir pgdata é onde o banco de dados é

Código:
root @ host # ps aux | grep pós
 postgres 11140 0,0 0,1 122556 3372? S 10:41 0:00 / usr / bin / postmaster-p 5432-D / path / to / pgdata
postgres 11142 0,0 0,0 111736 672? S 10:41 0:00 postgres: processo logger                 
postgres 11144 0,0 0,0 122692 1168? S 10:41 0:00 postgres: processo escritor                 
postgres 11145 0,0 0,0 112736 672? S 10:41 0:00 postgres: Estatísticas processo de buffer           
postgres 11146 0,0 0,0 111864 848? S 10:41 0:00 postgres: Status de processo de coletor        
raiz 11186 0,0 0,0 61120 724 pts / 1 S + 10:58 0:00 grep pós

Um comentário:

  1. Ótima dica, funcionou perfeitamente no meu postgresql 8.4 ... tive que mudar de partição o banco que tenho para testes e fiz o seguinte:

    1) Copia do banco atual estando dentro de /var/lib ... cp -Rap postgresql/ /home/
    2) Baixei o serviço ... service postgresql stop
    3) Editei o conf ... vi /etc/postgresql/8.4/main/postgres.conf
    3.1) Na linha ... data_directory = '/home/postgresql/8.4/main'
    4) Subi de novo o serviço ... service postgresql start

    ResponderExcluir