异构数据库的转移Mysql to Postgresql

花了3天晚上,尝试N种工具,最后发现一个靠谱的:pgLoader,只支持Linux下运行,在Debian下测试成功,直接使用apt-get安装。

只不过Apt安装的版本不是最新版,似乎还有些小BUG,使用源码Make又没成功。最后使用pgLoader的Command File方式运行,安装手册编辑了一个Command File,运行成功:

Pgload command file:

load database
 from mysql://user:pass@10.5.1.1/dbname
 into postgresql://user:pass@10.5.1.2/dbname

WITH include drop, create tables, no truncate,
 create indexes, reset sequences, foreign keys

SET maintenance_work_mem to '128MB', work_mem to '12MB', search_path to 'public'

CAST type date to date drop not null drop default using zero-dates-to-null,
 type datetime to timestamptz drop not null drop default using zero-dates-to-null,
 type timestamp to timestamptz drop not null drop default using zero-dates-to-null

-- including only table names matching ~/film/, 'actor'
EXCLUDING TABLE NAMES MATCHING 'Exlude_table_name'

BEFORE LOAD DO
 $$ create schema if not exists public; $$;

上面内容保存为一个文件(etc: pgloader.m2p), 然后命令行运行

$ pgloader  pgloader.m2p

Done.

Command File不具体解释了,自己看手册吧。

(0)

pgAdmin 不返回任何错误信息,总是报Successfully.

使用pgAdmin管理Postgresql遇到非常奇怪现象,任何sql语句运行时都不会报错,即使有非常明显的错误,总是报”successfully”,这个问题困扰了我两天,查了非常多的英文资料,最后总是验证了一个解决方法:
编辑 data目录下的 postgresql.conf文件,查找下面类似的行,修改本地语言设置:
lc_messages = 'English_United States.1252' 
    #这一句是关键
    #原来的值是:Chinese (Simplified)_China.936'        
    #locale for system error message strings
lc_monetary = 'English_United States.1252'          # locale for monetary formatting
lc_numeric = 'English_United States.1252'           # locale for number formatting
lc_time = 'English_United States.1252'              # locale for time formatting

最终验证的结论是,如果你按照postgresql时选择的默认本地语言是中文,100%会遇到这个问题,pgAdmin似乎不能正确处理Query返回的中文信息,把lc_messages改成英文,重启服务即可。

奇怪的是这个BUG似乎很少人遇到,Postgresql也没有及时进行处理!

(6)

重置Mysql密码和备份

1. 停止服务,net stop mysql

2. 打开一个cmd窗口,切换到mysql的bin目录,运行命令:
mysqld –defaults-file=”******my.ini” –console –skip-grant-tables

3.打开第二个cmd口
mysql -u root -p
show databases;
use mysql;
//使用命令更改root密码:
UPDATE user SET Password=PASSWORD(‘newpassword’) where USER=’root’;
//刷新权限:
FLUSH PRIVILEGES;
quit

4. 检测,重新登录:

可以关掉之前的cmd1 窗口了。然后用net start mysql 启动服务
mysql -u root -p
出现输入密码提示,输入新的密码即可登录:
Enter password: ***********

5. 备份导出

mysqldump -u user_name -p123456 database_name > outfile_name.sql

(4)

共享文件环境下“本地区域”的判断和影响

关于访问共享文件时,Windows系统如何判断是否是本地计算机的问题,一直有困扰。发现主要的影响还是IE(控制面板中)的【Internet 属性 – 安全 – intranet – 站点 – 高级】中的列表影响。

默认状态下的Windows会把所有 netbios 方式访问的 计算机作为本地计算机,把使用10.5.5.5,srv.come.com等带有’.’句点符号的计算机作为Internet计算机。

因此需要把需要的本地计算机地址(比如: 10.5.5.* , *.local.com)加入上述那个列表,才能避免出现访问文件是总是出现未知来源安全提示。而这个列表保存以后,必须重启计算机放可生效。

这是两篇有参考意义的帖子:

使用 FQDN 或 IP 地址时 Intranet 站点被标识为 Internet 站点

企业IE11迁移指南:详解兼容性视图模式和本地Intranet站点

进一步测试发现:

  1. 使用Internet选项-站点列表,可以把域名、IP地址指定为Intranet,重启后生效,对共享文件判定的为本地计算机文件,不再提示安全风险。
  2. 关于搜索索引,如果共享文件服务器启用了windows search,并且把共享文件夹纳入了索引范围,在索引完成后,客户端在该共享下的搜索会自动引用服务器上的索引内容。(推测应该是仅对本地计算机有效,未验证)

(4)

李集的那些过往–年代大事记(1)

李集,又名大李集,苏北一座历史悠久的集镇,属徐州市睢宁县,临苏皖交界,滨潼河,黄河沿明清故道行水300年期间,水陆通衢,商通天下;镇域风云激荡,人文荟萃,与许多历史名人和历史事件发生交集。本系列文章系作者在编撰镇志过程中多方搜集,集结而成,如有偏误,祈望指正。     (友林)

商 — — 民国二十六年(1937)

商初,李集地区是水域,有渔人捕捞作业,属商封之“取虑侯国”,(注:“取虑”古读音为“秋芦”) 继续阅读“李集的那些过往–年代大事记(1)”

(11)

李集的那些过往–(6)李三闹和咸丰四年兵燹

李集,又名大李集,苏北一座历史悠久的集镇,属徐州市睢宁县,临苏皖交界,滨潼河,黄河沿明清故道行水300年期间,水陆通衢,商通天下;镇域风云激荡,人文荟萃,与许多历史名人和历史事件发生交集。本系列文章系作者在编撰镇志过程中多方搜集,集结而成,如有偏误,祈望指正。     (友林)

咸丰四年(1854年)农历正月初—李集遭遇了一场空前劫难。事情得从前一年说起。 继续阅读“李集的那些过往–(6)李三闹和咸丰四年兵燹”

(7)

李集的那些过往–(5)“永定碑”纪事

李集,又名大李集,苏北一座历史悠久的集镇,属徐州市睢宁县,临苏皖交界,滨潼河,黄河沿明清故道行水300年期间,水陆通衢,商通天下;镇域风云激荡,人文荟萃,与许多历史名人和历史事件发生交集。本系列文章系作者在编撰镇志过程中多方搜集,集结而成,如有偏误,祈望指正。     (友林)

明朝后期至清朝末年,李集(时称“李家集”)的榨油业非常发达。方圆百多里农家多种植黄豆,卖给各油坊作榨油原料。所以,油坊的副产品一一豆饼的数量极多,须外运销售方能消化。 继续阅读“李集的那些过往–(5)“永定碑”纪事”

(3)

李集的那些过往–(4)江上青李集历险记

李集,又名大李集,苏北一座历史悠久的集镇,属徐州市睢宁县,临苏皖交界,滨潼河,黄河沿明清故道行水300年期间,水陆通衢,商通天下;镇域风云激荡,人文荟萃,与许多历史名人和历史事件发生交集。本系列文章系作者在编撰镇志过程中多方搜集,集结而成,如有偏误,祈望指正。     (友林)

江上青,原名江世侯,曾用名江蕃臣,前中共中央总书记、国家 主席、中央军委主席江泽民叔父。江上青1939年7月牺牲,因无子,其长兄江世俊、长嫂吴月卿手足情深,将次子江泽民过继在江上青名下,由江上青遗孀王者兰抚养。

继续阅读“李集的那些过往–(4)江上青李集历险记”

(8)

李集的那些过往–(3)费孝通考察李集纪行

李集,又名大李集,苏北一座历史悠久的集镇,属徐州市睢宁县,临苏皖交界,滨潼河,黄河沿明清故道行水300年期间,水陆通衢,商通天下;镇域风云激荡,人文荟萃,与许多历史名人和历史事件发生交集。本系列文章系作者在编撰镇志过程中多方搜集,集结而成,如有偏误,祈望指正。     (友林)

1984年4月25日,著名社会学家、中国人民大学教授費孝通先 生领一众随员,专程考察了李集。

费教授此行的目的是考察李集的商业、人文、历史及其对小城镇 发展、建设的影响,按照这个要求,在接待室里,时任李集镇党委书 记的汤方蒿同志首先向费教授详细介绍了李集古时的四大会馆、旗杆 街、锚街、洪记街及商业庙会的情况。接着,供销社主任汇报了李集 供销社近几年工作以及获得徐州市人民政府、江苏省人民政府和中华 人民共和国商业部的几次表彰事项。费教授听了这些之后非常高兴, 认为李集的商业底蕴,文化底蕴均很深厚。这对李集今后的发展是一大有裨益的,对自己即将撰写的论文中的一些论点也是一个很好的诠释。 继续阅读“李集的那些过往–(3)费孝通考察李集纪行”

(3)

李集的那些过往–(2)孔尚任访李集鉴赏奇石

李集,又名大李集,苏北一座历史悠久的集镇,属徐州市睢宁县,临苏皖交界,滨潼河,黄河沿明清故道行水300年期间,水陆通衢,商通天下;镇域风云激荡,人文荟萃,与许多历史名人和历史事件发生交集。本系列文章系作者在编撰镇志过程中多方搜集,集结而成,如有偏误,祈望指正。     (友林)

著名古典剧作《桃花扇》作者孔尚任未写《桃花扇》之前,深得康熙皇帝重用。39岁时孔奉圣命江南治水,返京途中在大运河上结 识了一位绸锻商李应鼎。李应鼎是李集李氏始迁祖六世孙,虽为商人 却也满腹诗书。两人谈得甚为投合,常同舟共饮。听李应鼎说李集有 “小南京”美誉,镇中秦楼楚馆亦有秦淮风情,孔尚任不信。李说:“孔君如若不信,不妨此番绕道李集,在敝处盘桓几日。吾日前得一 奇石,上宛若有一幅山水画,不知是人工所为,还是天然生成,正想 请名家鉴赏—下,如何? ”名花奇石皆孔之所好,新结挚友又盛情难 却,孔尚任欣然应允。 继续阅读“李集的那些过往–(2)孔尚任访李集鉴赏奇石”

(2)

李集的那些过往–(1)张爱萍將军在李集的日子

李集,又名大李集,苏北一座历史悠久的集镇,属徐州市睢宁县,临苏皖交界,滨潼河,黄河沿明清故道行水300年期间,水陆通衢,商通天下;镇域风云激荡,人文荟萃,与许多历史名人和历史事件发生交集。本系列文章系作者在编撰镇志过程中多方搜集,集结而成,如有偏误,祈望指正。     (友林)

张爱萍将军任新四军三师副师长兼苏北军区副司令员期间,在李集住过二天。虽只短短三天,却给李集人留下了难以忘怀的深刻印象。

张将军当时住在“谦泰恒”百货店老板朱芝轩家中。朱家有两座 连在一起大院,东院大门朝北开,西院大门朝西开。张将军和随从人 员住在西院六间南客房。

继续阅读“李集的那些过往–(1)张爱萍將军在李集的日子”

(14)