поднимаем словарь

Переводим термины и придумываем новые, в т.ч. для ЯОС
Ответить
БудДен
Сообщения: 2867
Зарегистрирован: 07.10.18 14:01

поднимаем словарь

Сообщение БудДен » 21.02.24 14:42

pg_dump: server version: 11.11 (Debian 11.11-1.pgdg90+1); pg_dump version: 9.6.24

Debian 4.9.320-2 (2022-06-30)

Distributor ID: Debian
Description: Debian GNU/Linux 9.13 (stretch)
Release: 9.13
Codename: stretch

БудДен
Сообщения: 2867
Зарегистрирован: 07.10.18 14:01

Re: поднимаем словарь

Сообщение БудДен » 21.02.24 14:58

поскольку никакие средства рез. копирования не работают, пришлось сделать файловых архив из /var/lib/postgresql (перед этим снёс все пакеты, но важно не стереть сами данные - dpkg это настойчиво предлагает, надо в нужном месте ответить нет). Надеюсь, что при совпадении версий он поднимется.

Поставил debian 10, 20 гб на диске VPS

vi /etc/hostname - заменяем на что надо.
shutdown -r now
Последний раз редактировалось БудДен 21.02.24 15:04, всего редактировалось 2 раза.

БудДен
Сообщения: 2867
Зарегистрирован: 07.10.18 14:01

Re: поднимаем словарь

Сообщение БудДен » 21.02.24 15:02

Версии postgresql не совпали - значит, надо ставить нужную нам. Версия сервера (насколько я понимаю, он живёт в докере).

server 11.11 (Debian 11.11-1.pgdg90+1))
Последний раз редактировалось БудДен 21.02.24 15:11, всего редактировалось 1 раз.

БудДен
Сообщения: 2867
Зарегистрирован: 07.10.18 14:01

Re: поднимаем словарь

Сообщение БудДен » 21.02.24 15:06

Код: Выделить всё

# curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
# echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" | tee /etc/apt/sources.list.d/postgresql.list
# apt update

БудДен
Сообщения: 2867
Зарегистрирован: 07.10.18 14:01

Re: поднимаем словарь

Сообщение БудДен » 21.02.24 15:15

Код: Выделить всё

apt-cache policy postgresql-server-dev-11
Похоже, мы в тупике - нужной версии 11.11 нет. Что же теперь делать? Очевидно, только молиться, чтобы версия 11.16 подошла. По сути-то нам нужна только совместимость pg_dump, чтобы выкачать базу в текстовый формат, и потом возможность её восстановить.
Последний раз редактировалось БудДен 21.02.24 15:18, всего редактировалось 1 раз.

БудДен
Сообщения: 2867
Зарегистрирован: 07.10.18 14:01

Re: поднимаем словарь

Сообщение БудДен » 21.02.24 15:17

Код: Выделить всё

apt-get install postgresql-server-dev-11=11.16-0+deb10u1 postgresql-client-11=11.16-0+deb10u1

БудДен
Сообщения: 2867
Зарегистрирован: 07.10.18 14:01

Re: поднимаем словарь

Сообщение БудДен » 21.02.24 15:24

Код: Выделить всё

# ssh-keygen -b 3071
Enter Enter Enter Enter
#cat ~/.ssh/id_rsa.pub 
Добавляем ключ на твойгит

Код: Выделить всё

# git clone ssh://git@tvoygit.ru:2222/budden/semdict.git
# apt install docker-compose
# docker-compose --version
Версия (1.21) получилась ниже, чем на старом сервере (1.22). Это печально, но попробуем пока так.

БудДен
Сообщения: 2867
Зарегистрирован: 07.10.18 14:01

Re: поднимаем словарь

Сообщение БудДен » 21.02.24 15:30

Код: Выделить всё

# vi semdict.config.json.docker 
# // вставляем текст со старого сервера
# vi .env
# // вставляем текст со старого сервера
О, я нашёл как снять дамп - надо зайти в докер.
Последний раз редактировалось БудДен 21.02.24 16:18, всего редактировалось 1 раз.

БудДен
Сообщения: 2867
Зарегистрирован: 07.10.18 14:01

Re: поднимаем словарь

Сообщение БудДен » 21.02.24 15:37

На старом сервере:

Код: Выделить всё

# docker ps 
# // находим имя сервера БД (semdict_postgres_1)
# docker exec -it semdict_postgres_1 sh
# // (в докере) 
## psql sduser_db semdict
# // но нам нужно не это
## pg_dump -c -f /var/lib/postgresql/data/2024-02-21.pg_dump -U semdict sduser_db
Теперь на клиентской машине:

Код: Выделить всё

scp root@45.141.76.82:/root/go/src/github.com/budden/semdict/_data/pg/2024-02-21.pg_dump /y/semdict
Последний раз редактировалось БудДен 21.02.24 16:58, всего редактировалось 1 раз.

БудДен
Сообщения: 2867
Зарегистрирован: 07.10.18 14:01

Re: поднимаем словарь

Сообщение БудДен » 21.02.24 16:43

Код: Выделить всё

git config --global core.quotepath false

БудДен
Сообщения: 2867
Зарегистрирован: 07.10.18 14:01

Re: поднимаем словарь

Сообщение БудДен » 21.02.24 16:47

Теперь зальём базу обратно:

Код: Выделить всё

$ (на локальном компьютере) scp /y/semdict/2024-02-21.pg_dump root@новый-ip:/root/semdict/_data/pg
# (на сервере) docker exec -it semdict_postgres_1 sh
## (в докере) psql -f /var/lib/postgresql/data/2024-02-21.pg_dump sduser_db semdict
База залита, осталось понять, всё ли в порядке. Проверяем пару запросов и сверяем со старым сервером:

Код: Выделить всё

## (в докере) psql sduser_db semdict
### (в psql) \dt
### select * from sduser;
### select count(*) from tsense;
Однако версия postgresql, если её смотреть в докере, поменялась на 11.16. Я не знаю, почему так. Будем надеяться, что не сломается, ведь мы же базу из текстового скрипта поднимали. На старом показывала 11.11 . Раньше мне казалось, что я понимаю, как всё это работает: в докере одна версия postgresql, и по идее нужна только она. На самом сервере может быть другая, но она не испортит ничего, если её не запускать. Теперь же вроде бы я поднял postgresql -11 из того же докерфайла, но внутри уже другая версия postgres. Что-то тут не чисто, но не буду дальше разбираться.

БудДен
Сообщения: 2867
Зарегистрирован: 07.10.18 14:01

Re: поднимаем словарь

Сообщение БудДен » 21.02.24 17:07

Теперь внутри поддиректории static находим v86 и с помощью scp переносим на новый сервер.

БудДен
Сообщения: 2867
Зарегистрирован: 07.10.18 14:01

Re: поднимаем словарь

Сообщение БудДен » 21.02.24 17:33

Теперь оказывается: путь к серверу раньше был внутри директории go, а теперь он у нас в /root/semdict - значит, приходится править Dockerfile, чтобы увиделся хотя бы bootstrap

* ckeditor отсутствуют - придётся его, видимо, качать по инструкции

https://tvoygit.ru/budden/semdict/src/b ... llation.md

В итоге - теперь приложение можно запускать только через докер. Нужен доброволец, который бы привёл здесь всё в порядок. Заодно, нет нормального процесса, как обновлять хранимые процедуры на сервере базы данных. Т.е. обновлять-то можно, но требуется ручная работа и нет никакой гарантии, что в итоге исходники будут соответствовать тому, что написано в sql-файлах. Это - большая проблема, в своё время я для Firebird целую систему разрабатывал, и всё равно иногда что-то шло не так. Как с этим принято поступать для Postgresql - не имею знать.

Ответить