Во-первых, я хочу пояснить, что этот вопрос уже задавался в Askubuntu, но я продолжил удалять его, потому что я почти не получил обратной связи. Если это нарушает протокол SU, пожалуйста, дайте мне знать.
Добро пожаловать в мой беспорядок ...
Ситуация такова:
Ubuntu Software делала некоторые "важные" обновления (и, вероятно, многие из них, поскольку прошло более 9 месяцев с момента моего последнего обновления).
Обновление, похоже, перестало работать (индикатор выполнения обновления заморожен), без объяснения причин происходящего. Есть уведомление о какой-то ошибке, которая не давала мне много информации или ничего общего с этим, за исключением нажатия на кнопку "Сообщить".
Приблизительно после 8 часов использования ПК и в надежде, что проблема решится сама собой, я отмечаю, что панель процессов все еще заморожена. Я скрещиваю пальцы и выключаю компьютер.
Теперь ноутбук не загружается в Ubuntu (все еще есть Windows, не пытался загрузить это, но я думаю, что это все еще работает).
Большая и важная база данных Postgresql хранится на ноутбуке, на
/var/lib/postgresql/9.5/main
(да, я очень устал за день до того, как выключил ноутбук, не ожидал этого ... действительно глупо не делай этого дома, дети).Сделал загрузочную флешку с Ubuntu 16.04 live, чтобы получить доступ к моим файлам и сделать резервную копию перед переустановкой Ubuntu.
Не может сделать резервную копию упомянутой базы данных (имеется в виду, можно скопировать / вставить папку с помощью Nautilus или через терминал +sudo), он говорит, что содержимое
/var/lib/postgresql/9.5/main
не читается (у меня нет разрешений). С моим домашним каталогом проблем меньше, и мне удается сделать резервную копию (с несколькими незначительными исключениями).
Что я могу сделать по этому поводу? Можно ли скопировать файлы из базы данных, чтобы сделать резервную копию? Кроме того, как я могу получить доступ к этой базе данных впоследствии?
Спасибо за ваше время...
Обновление: я успешно заархивировал свои файлы, используя sudo /bin/bash
а затем cp
, как предложил davidgo (сохранил их на внешний жесткий диск).
Затем я установил Ubuntu с нуля на свой компьютер, установил posgresql-9.5 (добавив репозиторий Postgres PGDG, упомянутый davidgo) и скопировал файлы в ту же исходную папку (используя cp -rnP /pathto/backupfolder /var/lib/postgresql/9.5/main
) и поменял владение на "postgres".
Теперь моя проблема в том, что я не могу запустить клиент postgresql (psql
). Это вывод командной строки:
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"?
Просматривая документацию, я обнаружил, что могу запустить pg_ctl
для запуска сервера, но в Ubuntu ожидается, что вместо этого я использую pg_ctlcluster
. Итак, я попробую это:
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"
Я могу сказать, что я довольно неуклюжий пользователь PostgreSQL, так что это, вероятно, нечто очень простое, чего я сейчас не вижу. Опять же, любая помощь будет более чем полезной!