É bem comum instalar o PostgreSQL com sua configuração padrão e depois decidir que os arquivos de dados sejam salvos em uma pasta de mais fácil localização. Para tal basta seguir os passos:
1. Interrompa a execução do serviço PostgreSQL e feche o gerenciador de serviços. Mais à frente explico o porquê.
2. Vá no editor de registro e localize a chave:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\postgresql-<versão>
3. Abra o item “ImagePath
“
4. O valor lá apresentado deverá ser algo parecido com:"C:\Program Files (x86)\PostgreSQL\9.4\bin\pg_ctl.exe" runservice -N "postgresql-9.4" -D "C:\Program Files (x86)\PostgreSQL\9.4\data" -w
O parâmetro que vem logo após “-D” indica o local de salvamento dos dados, no caso do exemplo acima:
C:\Program Files (x86)\PostgreSQL\9.4\data
5. Veja onde é o local atual onde os arquivos de dados estão sendo armazenados, vá até lá, selecione todo o conteúdo e mova para o novo local.
6. Altere o valor do parâmetro que vem logo após o “-D” para o novo local de armazenamento dos arquivos de dados. Para efeito de exemplo vamos definir o caminho:C:\SQL-Data\PG
7. Abra o gerenciador de serviços novamente e abra o serviço do PostgreSQL dando duplo clique sobre o nome do serviço.
Se tudo deu certo, observe que a alteração do diretório de dados já deverá constar no parâmetro da linha de inicialização do programa.
8. Já pode dar partida no serviço novamente. O PostgreSQL já estará mapeando os arquivos de dados para o diretório especificado.
Liberando Conexão Remota
E agora um brinde. Assim que você instala o PostgreSQL ele vem protegido para que nenhum computador externo possa acessar o banco de dados. Caso você queira liberar o acesso faça o seguinte.
1. Abra o arquivo “pg_hba.conf
” que fica na pasta onde especificada acima, onde são gravados os arquivos de dados do seu PostgreSQL.
2. Acresente a seguinte linha ao final do arquivo:host all all 0.0.0.0/0 md5
Este comando vai instruir o Postgre a aceitar conexões de qualquer computador. Caso você queira limitar as conexões para determinados endereços IP substitua o endereço “0.0.0.0/0
” do exemplo acima pelo endereço do computador que deseja liberar. Por exemplo, digamos que você queira liberar o acesso apenas do computador “203.0.113.2”, a linha deverá ficar:host all all 203.0.113.2/32 md5
É possível alterar o caminho para um local na rede ? Deixando os arquivos em um servidor NAS por exemplo.
Amigo, eu não saberia responder. De qualquer forma acredito que teria problema de performance. Você pode fazer o teste e relatar aqui para nós?