postgresql的数据库怎么迁移到mysql-CSDN论坛

1. 导出mysql表定义(无数据)mysqldump --no-data [dbname] >dbdef.sql 2. 使用mysql2postgres把脚本转换为pgsql 3. 上面生成的脚本还不一定很完美,可以尝试导入pgsql,调试错误并手动修改之。我遇到的问题就只有一个,mysql列定义中的zerofill需要手工去掉。一些unsinged定义会生成constraint,如果不...
postgresql的数据库怎么迁移到mysql-CSDN论坛
MySQL数据库迁移到PostgreSQL
查了不少资料,也尝试了一些,最后采用的办法如下:
1. 导出mysql表定义(无数据)
mysqldump --no-data [dbname] >dbdef.sql
2. 使用mysql2postgres把脚本转换为pgsql
3. 上面生成的脚本还不一定很完美,可以尝试导入pgsql,调试错误并手动修改之。我遇到的问题就只有一个,mysql列定义中的zerofill需要手工去掉。一些unsinged定义会生成constraint,如果不需要可以去掉。另外,trigger都有问题,只能后面手工重建
4. 导出mysql数据:
mysqldump -v -nt --complete-insert=TRUE --compact --no-create-info --skip-quote-names [dbname] >dbdata.sql
老一些版本的pgsql如果不支持批量插入的话还需要加上--extended-insert=FALSE,这个性能损失巨大。
5. 转义符
mysql默认字符串里的'\'是转义符,而pgsql默认不是,修改postgresql.conf:
backslash_quote = on
escape_string_warning = off
standard_conforming_strings = off
数据导入完成后可以改回默认值。
5. pgsql里导入表定义和数据
psql -d [dbname] <dbdef.sql
psql -d [dbname] <dbdata.sql
6. 重建trigger
7. 自增主键(字段)的处理
由于导入数据时此字段都是有值的,所以pgsql里面seq并不会增加,可以用如下语句设置自增列的当前值:
SELECT setval('sample_id_seq',max(id)) from sample;2017-12-06
mengvlog 阅读 9 次 更新于 2025-07-20 18:39:59 我来答关注问题0
  •  翡希信息咨询 Navicat怎么连接PostgreSQL数据库

    Connection Name:输入新建连接的名称,例如“本地PostgreSQL”。Host Name/IP Address:输入PostgreSQL数据库所在的主机名或IP地址。如果是本地数据库,可以输入“localhost”或“127.0.0.1”。Port:输入PostgreSQL数据库的端口号,默认为5432。User Name:输入数据库的用户名。Password:输入数据库的密码。

  •  腾云新分享 linux postgresql怎么重新初始化数据库

    在初始化Linux PostgreSQL数据库前,需要先创建名为postgres的用户,并设置相同密码。具体步骤为:执行命令:net user postgres postgres /add 创建数据库根目录下的data文件夹:C:\Program Files\PostgreSQL\9.3>md data 接下来,移除administrator用户对data文件夹的访问权限:C:\Program Files\PostgreSQL\...

  •  校企律说法 postgresql如何建立数据库

    在建立PostgreSQL数据库时,需要提供清晰的信息,例如操作系统类型、PostgreSQL的版本号,以及具体的建立数据库步骤。常见的建立数据库的方法有两种:一种是在命令行中使用createdb命令,另一种是在psql中通过SQL语句创建。如果使用createdb命令建立数据库,可能会遇到以下问题:1)数据库未启动;2)数据库地址...

  •  翡希信息咨询 【Postgresql】CenterOs 7.9 Postgresql-14 数据库 安装和配置

    使用systemctl命令配置PostgreSQL服务为开机自启动,确保数据库在系统启动时自动运行。运行结果验证:通过systemctl status postgresql14等命令检查PostgreSQL服务的状态,确保数据库已成功启动。远程访问配置步骤:修改pg_hba.conf文件:编辑PostgreSQL的配置文件pg_hba.conf,添加或修改规则以允许外部IP访问,并配置...

  •  猪八戒网 SpringBoot中使用PostgreSQL数据库

    因为自带了界面化的管理工具,所以如果你用过mysql等任何关系型数据库的话,基本不用怎么学,就可以上手使用了。 SpringBoot中如何使用 在安装好了PostgreSQL之后,下面我们尝试一下在SpringBoot中使用PostgreSQL数据库。 第一步:创建一个基础的SpringBoot项目(如果您还不会,可以参考这篇文章:快速入门) 第二步:在pom....

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部