Я пытаюсь перенести дамп SQLite в PostgreSQL, развернутый в Kubernetes, но у меня возникают проблемы с подключением точек.
Я создал дамп SQLite с помощью следующей команды:
sqlite3 sqlite.db .dump > dump.sql
Теперь я хочу перенести его в мое развертывание в Kubernetes.
Я подключился к нему с помощью:
psql -h <external IP of node> -U postgresadmin --password -p <port that i got using kubectl get svc postgres>
Кажется, все работает до сих пор, теперь я сталкиваюсь с проблемами, в результате которых у меня возникло два вопроса!
- Я видел несколько вопросов, касающихся миграции SQLite на PostgreSQL, и, похоже, эта команда сделает это:
psql /path/to/psql -d database -U username -W <
/the/path/to/dump.sql
. Придется ли мне создавать одинаковые таблицы (пустые, но с одинаковыми столбцами и т. Д.) В PostgreSQL, если дамп содержит несколько таблиц, или эта команда сделает это автоматически? Я полагаю, что да, основываясь на результатах, которыми я поделился в вопросе 2, но будет ли он также автоматически переходить к следующей таблице?
- Как мне объединить команду в вопросе 1, чтобы перенести ее в развертывание kubernetes? Я попытался добавить
< dump.sql
к команде, которую использовал для подключения, но получил следующий вывод:
CREATE TABLE
INSERT 0 1
ERROR: relation "first_report" does not exist
ERROR: current transaction is aborted, commands ignored until end of transaction block
ERROR: current transaction is aborted, commands ignored until end of transaction block
ERROR: current transaction is aborted, commands ignored until end of transaction block
ERROR: current transaction is aborted, commands ignored until end of transaction block
Итак, очевидно, что я делаю что-то не так ... Дамп содержит три таблицы: first_report
, second_report
и relation_table
.