@MoscowStyle

Портирование базы Grafana sqlite -> postgres?

Привет, практически не работаю с БД, но тут пришлось портировать базу Grafana из штатной sqlite в postgres
нашел проект по портированию тут
но т.к далек от работы с БД, при портировании лезут ошибки, какие-то понятны, какие-то совсем нет, даже с гуглом
возможно кто-то сможет помочь и показывать в какую сторону двигаться для исправления ошибок

spoiler
❌ pq: syntax error at or near ")" INSERT INTO "kv_store" VALUES(6,0,'plugin.publickeys','key-7e4d0c6a708866e7',replace(replace('-----BEGIN PGP PUBLIC KEY BLOCK-----\r\nVersion: OpenPGP.js v4.10.1\r\nComment: https://openpgpjs.org\r\n\r\nxpMEXpTXXxMFK4EEACMEIwQBiOUQhvGbDLvndE0fEXaR0908wXzPGFpf0P0Z\r\nHJ06tsq+0higIYHp7WTNJVEZtcwoYLcPRGaa9OQqbUU63BEyZdgAkPTz3RFd\r\n5+TkDWZizDcaVFhzbDd500yTwexrpIrdInwC/jrgs7Zy/15h8KA59XXUkdmT\r\nYB6TR+OA9RKME+dCJozNGUdyYWZhbmEgPGVuZ0BncmFmYW5hLmNvbT7CvAQQ\r\nEwoAIAUCXpTXXwYLCQcIAwIEFQgKAgQWAgEAAhkBAhsDAh4BAAoJEH5NDGpw\r\niGbnaWoCCQGQ3SQnCkRWrG6XrMkXOKfDTX2ow9fuoErN46BeKmLM4f1EkDZQ\r\nTpq3SE8+My8B5BIH3SOcBeKzi3S57JHGBdFA+wIJAYWMrJNIvw8GeXne+oUo\r\nNzzACdvfqXAZEp/HFMQhCKfEoWGJE8d2YmwY2+3GufVRTI5lQnZOHLE8L/Vc\r\n1S5MXESjzpcEXpTXXxIFK4EEACMEIwQBtHX/SD5Qm3v4V92qpaIZQgtTX0sT\r\ncFPjYWAHqsQ1iENrYN/vg1wU3ADlYATvydOQYvkTyT/tbDvx2Fse8PL84MQA\r\nYKKQ6AJ3gLVvmeouZdU03YoV4MYaT8KbnJUkZQZkqdz2riOlySNI9CG3oYmv\r\nomjUAtzgAgnCcurfGLZkkMxlmY8DAQoJwqQEGBMKAAkFAl6U118CGwwACgkQ\r\nfk0ManCIZuc0jAIJAVw2xdLr4ZQqPUhubrUyFcqlWoW8dQoQagwO8s8ubmby\r\nKuLA9FWJkfuuRQr+O9gHkDVCez3aism7zmJBqIOi38aNAgjJ3bo6leSS2jR/\r\nx5NqiKVi83tiXDPncDQYPymOnMhW0l7CVA7wj75HrFvvlRI/4MArlbsZ2tBn\r\nN1c5v9v/4h6qeA==\r\n=DNbR\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n','\r',char(13)),'\n',chr(10)),'2023-09-13 09:17:18','2023-09-13 09:17:18') - failed to import dump file to Postgres.


по этой ошибки мне понятно, что она в таблице kv_store но не понятно что хочет?
  • Вопрос задан
  • 310 просмотров
Решения вопроса 1
@MoscowStyle Автор вопроса
Опишу как решил, в лоб экспорт не работал видимо из-за разницы синтаксиса, или около того

1- создаём базу в postgres, я еще поставил web морду для управления базами pgadmin
2- останавливаем графану и правим конфиг grafana.ini, где указываем новую базу и данные для подключения
3- стартуем графану, она создаст в пустой базе свои таблицы, опять останавливаем графану
4- теперь надо очистить всю базу через утилиту truncate, в web морде в каждом разделе тыкал правой кнопокй на
каждом разделе базы и очищал (truncate->truncate)
5- ставим утилиту pgloader (доступна в штатных репах убунты) идём в папку /var/lib/grafana там файл с
базой grafana.db его и будем переносить
6- создадим там же файл main.load

load database
  from sqlite:///var/lib/grafana/grafana.db
  into postgres://grafana:grafana@grafdb:5432/grafana_db
  with data only, reset sequences
  set work_mem to '16MB', maintenance_work_mem to '512 MB';


тут указывается, что из базы sqlite переносим в базу postgres и указываем данные для входа в базу
into postgres://login:password@%server%:5432/%base_name%

7- поехали pgloader main.load

После этого всё корректно перенеслось, дашборды, пользователи и прочее!
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы