我正在尝试从 MySQL 数据库迁移到 PostgreSQL 数据库。
有没有办法在不修改my.cnf文件的情况下从MySQL迁移到PostgreSQL?
pgloader mysql://root:root_password@127.0.0.1/mysql_database postgresql://postgres_user:postgres_pass@127.0.0.1/postgres_database
Run Code Online (Sandbox Code Playgroud)
我尝试创建这个:
create user 'pgloader'@'localhost' identified with mysql_native_password by 'pass'
Run Code Online (Sandbox Code Playgroud)
但是当我尝试迁移时,我总是收到此错误:
create user 'pgloader'@'localhost' identified with mysql_native_password by 'pass'
Run Code Online (Sandbox Code Playgroud) 我在由企业IT严格管理的Windows 7笔记本电脑上运行PostgreSQL 9.6.我没有这台笔记本电脑的管理员权限,但可以通过BeyondTrust授予的提升权利做"很多"事情,包括软件安装.
我使用此数据库从各种来源导入大量中型数据集,并执行一些深入的分析和报告.这些数据集具有疯狂的编码和格式变化,这会在导入时产生挑战.对于一个数据集,我首先将其导入MySQL,从数据中删除违规字符,将其导出回CSV,最后将这些清理后的数据导入PostgreSQL.
作为一个实验,我在运行macOS 10.12的家庭iMac上安装了PostgreSQL 9.6和pg_loader,它能够毫无问题地导入所有数据集.
鉴于所有这些作为背景,我需要使用pg_loader导入各种数据集.但是,该网站不提供Windows安装程序或在Windows上编译它的说明.
任何人都可以指出我的方向之一,从最令人满意到最不可取的列表?
我正在尝试将我的 rails 应用程序从 mysql 迁移到 postgres。由于我们已经运行了应用程序,所以我正在使用 pgloader 将 mysql 数据移动到 postgres 数据库。但是当我这样做时
pgloader mysql://root:root_password@127.0.0.1/mysql_database postgresql://postgres_user:postgres_pass@127.0.0.1/postgres_database
Run Code Online (Sandbox Code Playgroud)
我收到错误 - 无法以用户“root”身份在“127.0.0.1”(端口 3306)连接到 mysql:条件 QMYND:MYSQL-UNSUPPORTED-AUTHENTICATION 已发出信号。不过,我可以轻松地从终端登录到 mysql。提前致谢。
我刚刚从 SQLite3 迁移到 Postgres 12(使用 pgloader)。
我无法删除某些模型对象,因为还有其他模型对象引用它。
但是,我非常确定我的模型对象在引用模型对象中设置了“on_delete = models.CASCADE”(在 models.py 中的 Django 代码中)。
所以我得到了 Postgres 生成的错误:
...
django.db.utils.IntegrityError: update or delete on table "app_reply" violates foreign key constraint "app_replyimage_reply_id_fkey" on table "app_replyimage"
DETAIL: Key (id)=(SRB6Nf98) is still referenced from table "app_replyimage".
Run Code Online (Sandbox Code Playgroud)
有没有办法(希望不用手动编辑 Postgres 中的表模式)来解决这个问题?
编辑:在下面添加一些代码...
模型.py
class ReplyImage(models.Model):
id = models.CharField(default = make_id(), unique = True, primary_key = True, max_length = 8)
file = models.ImageField(upload_to = customer_images_directory_path)
reply = models.ForeignKey(Reply, on_delete = models.CASCADE, related_name = 'reply_images')
#Meta
created = …Run Code Online (Sandbox Code Playgroud)