Este post descreve os passos de como instalar o postgresSQL 9.6 no Centos7 alterando o local padrão de armazenamento dos dados, que por padrão é no diretório /var/lib/pgsql/<versão>/data.
Entre as possíveis razões que podem requisitar a instalação em um local diferenciados envolvem:
- Segurança
- Gerenciamento centralizado
- Performance
O processo basicamente consiste em alterar a variável PGDATA utilizada pelo gerenciador de banco de dados Postgres.
Passo 1) Instalação do repositório do Postgres 9.6
yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Passo 2) Instalação dos pacotes servidor e cliente
yum install postgresql96 postgresql96-server
Passo 3) Criação dos diretórios onde os dados do PostgreSQL serão armazenados, no meu caso será no diretório /data/postgresql
mkdir -p /data/postgresql
Passo 4) Conceder as permissões adequadas para o usuário postgres que é criado automaticamente durante o processo de instalação.
chown -R postgres:postgres /data/postgresql/
Passo 5) Inicialização da base de dados
su - postgres -c '/usr/pgsql-9.6/bin/initdb -D /data/postgresql'
Passo 6) Edite o arquivo /usr/lib/systemd/system/postgresql-9.6.service para alterar a variável PGDATA
vi /usr/lib/systemd/system/postgresql-9.6.service
# Location of database directory # Environment=PGDATA=/var/lib/pgsql/9.6/data/ Environment=PGDATA=/data/postgresql/data/
Para salvar o arquivo pressione ESC + ZZ
Passo 7) Reconfigure as bases
/usr/pgsql-9.6/bin/postgresql96-setup initdb
Passo 8) Inicie o serviço
systemctl start postgresql-9.6
Opcionalmente adicione o serviço para iniciar após o boot do sistema
systemctl enable postgresql-9.6
Até a próxima