Para mover o diretório de dados do PostgreSQL para um caminho diferente em um servidor Ubuntu 16.04, você pode seguir os passos abaixo. Certifique-se de fazer um backup dos seus dados antes de prosseguir para evitar perda de informações.
-
Parar o Serviço PostgreSQL:
Antes de fazer qualquer alteração nos arquivos, é importante parar o serviço do PostgreSQL para evitar conflitos durante o processo de movimentação do diretório de dados. Você pode fazer isso executando o seguinte comando:bashsudo systemctl stop postgresql -
Copiar os Dados Existente (Opcional):
Se desejar manter uma cópia dos dados existentes como backup, você pode copiar o diretório de dados atual para o novo local. Isso pode ser feito usando o comandorsyncoucp. Por exemplo:bashsudo rsync -av /var/lib/postgresql/ /novo/caminho/para/os/dados -
Modificar o Arquivo de Configuração:
Agora, você precisará modificar o arquivo de configuração do PostgreSQL para apontar para o novo diretório de dados. Este arquivo geralmente está localizado em/etc/postgresql/{versão}/main/postgresql.conf, onde{versão}é a versão do PostgreSQL instalada (por exemplo,9.5,10,11, etc.).Abra o arquivo de configuração usando um editor de texto, como o
nanoouvim:bashsudo nano /etc/postgresql/{versão}/main/postgresql.confDentro do arquivo, encontre a linha que contém a configuração
data_directorye atualize o caminho para o novo local dos dados. Por exemplo:confdata_directory = '/novo/caminho/para/os/dados'Salve e feche o arquivo de configuração após fazer a modificação.
-
Atualizar as Permissões de Acesso:
Certifique-se de que o usuáriopostgrestenha permissões adequadas para acessar o novo diretório de dados. Você pode fazer isso ajustando as permissões com o comandochown. Por exemplo:bashsudo chown -R postgres:postgres /novo/caminho/para/os/dados -
Atualizar o Arquivo de Controle de Acesso (opcional):
Se você estiver usando o mecanismo de controle de acessopg_hba.confpara restringir o acesso ao banco de dados, pode ser necessário atualizar o caminho para os sockets UNIX no novo diretório de dados. Abra o arquivopg_hba.confcom um editor de texto:bashsudo nano /etc/postgresql/{versão}/main/pg_hba.confVerifique se as linhas que definem os caminhos para os sockets UNIX refletem o novo diretório de dados, se necessário. Por exemplo:
conflocal all postgres peer local all all peer -
Iniciar o Serviço PostgreSQL:
Após fazer todas as alterações necessárias, você pode iniciar o serviço do PostgreSQL novamente usando o seguinte comando:bashsudo systemctl start postgresql -
Verificar o Status do Serviço:
Por fim, verifique se o serviço PostgreSQL está sendo executado corretamente:bashsudo systemctl status postgresqlIsso deverá exibir informações sobre o estado atual do serviço e se há algum problema.
Após seguir esses passos, o diretório de dados do PostgreSQL deve estar configurado para o novo caminho especificado. Certifique-se de testar a funcionalidade do banco de dados para garantir que tudo esteja funcionando conforme o esperado após a movimentação do diretório de dados.
“Mais Informações”

Claro, vou fornecer mais detalhes sobre cada etapa do processo de mover o diretório de dados do PostgreSQL para um caminho diferente em um servidor Ubuntu 16.04:
-
Parar o Serviço PostgreSQL:
Parar o serviço do PostgreSQL é uma etapa crucial antes de fazer qualquer modificação nos arquivos de configuração ou mover os dados. Isso garante que não haja atividade de gravação nos arquivos durante o processo, o que poderia resultar em corrupção de dados. -
Copiar os Dados Existente (Opcional):
Realizar uma cópia dos dados existentes antes de fazer qualquer alteração é uma prática recomendada. Isso permite restaurar os dados originais em caso de problemas durante o processo de movimentação do diretório. A ferramentarsyncé útil para esse fim, pois copia os dados de forma eficiente, preservando as permissões e metadados. -
Modificar o Arquivo de Configuração:
O arquivopostgresql.confcontém diversas configurações do PostgreSQL, incluindo o diretório de dados (data_directory). Ao atualizar esse caminho para refletir o novo local dos dados, você está informando ao PostgreSQL onde encontrar os arquivos necessários para iniciar o banco de dados. -
Atualizar as Permissões de Acesso:
Após mover os dados para o novo diretório, é importante garantir que o usuáriopostgres(ou o usuário que o PostgreSQL está configurado para usar) tenha permissões adequadas para acessar esses dados. Isso é feito utilizando o comandochownpara atribuir a propriedade do diretório ao usuário e grupopostgres. -
Atualizar o Arquivo de Controle de Acesso (opcional):
O arquivopg_hba.confdefine as regras de autenticação e controle de acesso ao banco de dados PostgreSQL. Se você estiver usando autenticação baseada em senha ou ident, pode ser necessário atualizar os caminhos dos sockets UNIX para refletir o novo diretório de dados. Isso garante que o PostgreSQL possa se comunicar corretamente com os clientes. -
Iniciar o Serviço PostgreSQL:
Após fazer todas as modificações necessárias, é hora de iniciar o serviço do PostgreSQL novamente para aplicar as alterações. Isso permite que o PostgreSQL reconheça o novo diretório de dados e comece a operar normalmente a partir dele. -
Verificar o Status do Serviço:
Verificar o status do serviço do PostgreSQL é uma etapa final importante para garantir que tudo tenha sido configurado corretamente. Isso permite identificar qualquer problema que possa ter ocorrido durante o processo de movimentação do diretório de dados e tomar as medidas necessárias para resolvê-lo.
Esses passos abrangem todo o processo de mover o diretório de dados do PostgreSQL para um novo caminho em um servidor Ubuntu 16.04. Ao seguir essas etapas com cuidado e fazer os devidos testes após a conclusão, você deve ser capaz de realizar essa tarefa com segurança e sem problemas.

