Primeiro, quero deixar claro que essa pergunta já foi feita no askubuntu, mas continuei a excluí-la porque quase não recebi comentários. Se isso violar o protocolo SU, entre em contato.
Bem-vindo à minha bagunça ...
A situação é:
O Ubuntu Software estava fazendo algumas atualizações "importantes" (e provavelmente muitas delas, já que eram mais de nove meses desde a minha última atualização).
A atualização pareceu parar de funcionar (barra de progresso da atualização congelada), sem explicação do que estava acontecendo. Há uma notificação de algum erro que não me deu muita informação ou algo a fazer sobre isso, exceto clicar no botão "Denunciar".
Após cerca de 8 horas de uso do PC e esperando que o problema se resolvesse, observo que a barra de processo ainda está congelada. Cruzo os dedos e desligo o computador.
Agora, o laptop não inicializa no Ubuntu (ainda possui o Windows, não tentei inicializá-lo, mas acho que ainda funciona).
O grande e importante banco de dados do Postgresql é armazenado no laptop, ligado
/var/lib/postgresql/9.5/main
(sim, eu estava realmente cansado no dia anterior quando desliguei o laptop, não previ isso ... coisa realmente estúpida de se fazer; não faça isso em casa, crianças )Fiz um pendrive inicializável com o Ubuntu 16.04 ao vivo, com a intenção de acessar meus arquivos e fazer um backup, antes de reinstalar o Ubuntu.
Não é possível fazer backup do banco de dados mencionado (ou seja, pode copiar / colar a pasta no Nautilus ou através do terminal + sudo), ele diz que o conteúdo
/var/lib/postgresql/9.5/main
é ilegível (não tenho permissões). No meu diretório pessoal, há menos problemas e consigo fazer um backup (com algumas exceções sem importância).
O que é que eu posso fazer sobre isto? É possível copiar os arquivos do banco de dados para fazer um backup? Além disso, como posso acessar esse banco de dados posteriormente?
Obrigado pelo seu tempo...
Atualização : fiz backup dos meus arquivos com êxito sudo /bin/bash
e cp
, como sugerido pela davidgo (os salvei em um disco rígido externo).
Então instalei o ubuntu do zero no meu PC, instalei o posgresql-9.5 (adicionando o repositório PGDG do Postgres mencionado por davidgo) e copiei os arquivos no mesmo local original (usando cp -rnP /pathto/backupfolder /var/lib/postgresql/9.5/main
) e alterei a propriedade para "postgres".
Agora, meu problema é que não consigo iniciar o cliente postgresql ( psql
). Esta é a saída da linha de comandos:
user@machine:~$ psql
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Pesquisando a documentação, descobri que poderia usar pg_ctl
para iniciar o servidor, mas que no Ubuntu é esperado que eu use pg_ctlcluster
. Ok, então eu tento isso:
user@machine:~$ su - postgres
Password:
postgres@machine:~$ pg_ctlcluster 9.5 main status
pg_ctl: server is running (PID: 1034)
/usr/lib/postgresql/9.5/bin/postgres "-D" "/var/lib/postgresql/9.5/main" "-c" "config_file=/etc/postgresql/9.5/main/postgresql.conf"
Eu sou um usuário bastante desajeitado do PostgreSQL, posso dizer, então isso é provavelmente algo realmente simples que não consigo ver agora. Mais uma vez, qualquer ajuda seria mais do que bem-vinda!
Respostas:
Para que isso funcione, as etapas seriam:
Instale uma nova cópia do UBUNTU - em uma nova unidade, para não sobrescrever os arquivos do postgres. Instale o Postgres 9.5 na nova instância (você pode ou não precisar adicionar o repositório do PGDG do Postgres para fazer isso)
Copie os arquivos antigos do Postgres para o novo sistema no mesmo local (normalmente /var/lib/pgsql/9.5). Como você está tendo dificuldades aqui, tente fazê-lo como raiz a partir da linha de comando. (Presumo que o SELinux não esteja funcionando ou interfira, se estiver, desative-o). [Você pode colocar o disco como uma segunda unidade ou usar um gabinete USB] Para obter acesso root, digite "sudo / bin / bash"
Altere as permissões de propriedade dos arquivos postgresql para o usuário postgres.
Inicie o Postgres!
fonte
sudo /bin/bash
foi fundamental para fazer um backup, mas agora tenho novos problemas, descritos na parte de atualização da minha postagem. Se você puder conferir e me dar alguma sugestão, ficaria muito grato.no meu caso, era o shared_buffers muito grande que apresentava o estado de falha, diminuo para 128MB e reiniciei e funcionou bem, fiz uma cópia do diretório de dados após uma falha do sistema operacional em um novo sistema operacional ..
fonte