Я пытаюсь переместить мою базу данных PostgreSQL со всеми данными внутри нее в базу данных MySQL, поэтому я использую MySQL Workbench> Инструмент переноса данных.Перенос данных PostgreSQL в MySQL
На «Обратный инженер Источник» шаг я получил странную ошибку:
ERROR: Reverse engineer selected schemata: ProgrammingError("('42P01', '[42P01] ERROR: relation "public.psqlcfg_lid_seq" does not exist;\nError while executing the query (7) (SQLExecDirectW)')"): error calling Python module function DbPostgresqlRE.reverseEngineer Failed
Полный журнал ошибок, где появляется это сообщение об ошибке в его конце:
Starting...
Connect to source DBMS...
- Connecting...
Connecting to ...
Opening ODBC connection to DSN=InventoryDBDS...
Connected
Connect to source DBMS done
Reverse engineer selected schemata....
Reverse engineering public from InventoryDB
- Reverse engineering catalog information
Traceback (most recent call last):
File "C:\Program Files\MySQL\MySQL Workbench CE 6.0.6\modules\db_postgresql_re_grt.py", line 335, in reverseEngineer
return PostgresqlReverseEngineering.reverseEngineer(connection, catalog_name, schemata_list, context)
File "C:\Program Files\MySQL\MySQL Workbench CE 6.0.6\modules\db_generic_re_grt.py", line 228, in reverseEngineer
catalog = cls.reverseEngineerCatalog(connection, catalog_name)
File "C:\Program Files\MySQL\MySQL Workbench CE 6.0.6\modules\db_generic_re_grt.py", line 388, in reverseEngineerCatalog
cls.reverseEngineerSequences(connection, schema)
File "C:\Program Files\MySQL\MySQL Workbench CE 6.0.6\modules\db_postgresql_re_grt.py", line 76, in reverseEngineerSequences
min_value, max_value, start_value, increment_by, last_value, is_cycled, ncache = cls.execute_query(connection, seq_details_query % (schema.name, seq_name)).fetchone()
File "C:\Program Files\MySQL\MySQL Workbench CE 6.0.6\modules\db_generic_re_grt.py", line 76, in execute_query
return cls.get_connection(connection_object).cursor().execute(query, *args, **kwargs)
pyodbc.ProgrammingError: ('42P01', '[42P01] ERROR: relation "public.psqlcfg_lid_seq" does not exist;\nError while executing the query (7) (SQLExecDirectW)')
Traceback (most recent call last):
File "C:\Program Files\MySQL\MySQL Workbench CE 6.0.6\workbench\wizard_progress_page_widget.py", line 192, in thread_work
self.func()
File "C:\Program Files\MySQL\MySQL Workbench CE 6.0.6\modules\migration_schema_selection.py", line 160, in task_reveng
self.main.plan.migrationSource.reverseEngineer()
File "C:\Program Files\MySQL\MySQL Workbench CE 6.0.6\modules\migration.py", line 335, in reverseEngineer
self.state.sourceCatalog = self._rev_eng_module.reverseEngineer(self.connection, self.selectedCatalogName, self.selectedSchemataNames, self.state.applicationData) SystemError: ProgrammingError("('42P01', '[42P01] ERROR: relation "public.psqlcfg_lid_seq" does not exist;\nError while executing the query (7) (SQLExecDirectW)')"): error calling
Python module function DbPostgresqlRE.reverseEngineer
ERROR: Reverse engineer selected schemata: ProgrammingError("('42P01', '[42P01] ERROR: relation "public.psqlcfg_lid_seq" does not exist;\nError while executing the query (7) (SQLExecDirectW)')"): error calling Python module function DbPostgresqlRE.reverseEngineer Failed
Я искал сеть для чего-либо, связанного с (ошибка 42P01), появляющаяся в журнале, но не могла найти никакой ссылки. Поэтому, если кто-то может рассказать мне, что именно я делаю неправильно здесь, это будет действительно здорово.
Благодаря
Что мне делать ALTER точно? Не могли бы вы предоставить мне небольшой пример того, что должно быть изменено? – MChan
Я нашел много записей для psqlcfg_lid_seq ... например: CREATE SEQUENCE "PSQLCFG_LID_seq" НАЧАТЬ С 1 Инкримент 1 NO MinValue NO MAXVALUE КЭШ 1; ALTER TABLE public. "PSQLCFG_LID_seq" ВЛАДЕЛЬЦЕВ В postgres; – MChan
@MChan: основанный на последнем комментарии, теперь он выглядит как проблема чувствительности к регистру. 'PSQLCFG_LID_seq' должен быть заключен в двойные кавычки, поскольку в нем есть сочетание верхнего и нижнего регистра, тогда как в сообщении об ошибке оно появляется во всех строчных случаях: _ERROR: отношение" public.psqlcfg_lid_seq "не существует_ –