楼主: 〇〇

PostgreSQL 9.2 正式版发布!

[复制链接]
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
31#
 楼主| 发表于 2012-9-12 21:57 | 只看该作者
还是不支持文件空列

est_en=# copy region from 'C:/region.tbl' WITH DELIMITER AS '|';
错误:  最后期望字段后有额外数据

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
32#
 楼主| 发表于 2012-9-13 21:32 | 只看该作者
〇〇 发表于 2012-9-12 21:57
还是不支持文件空列

est_en=# copy region from 'C:/region.tbl' WITH DELIMITER AS '|';

windows没找到管道和字符串行处理的办法。
除了自己写脚本/程序处理,还可以通过postgresql本身。
方法如下:
1.创建临时表
2.加载文件到临时表
3.从临时表输出文件
4.加载文件到原始表

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
33#
 楼主| 发表于 2012-9-13 21:33 | 只看该作者
步骤:
test_en=# create table temp(a varchar(1000));
CREATE TABLE
时间:25.971 ms
test_en=# copy temp from 'C:/Users/db2admin/Downloads/Tpc-h_windows/region.tbl';
COPY 5
时间:9.040 ms
test_en=# select * from temp;
                                                               a

------------------------------------------------------------------------------------------------------------------------
-------
0|AFRICA|lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are accordin
g to |
1|AMERICA|hs use ironic, even requests. s|
2|ASIA|ges. thinly even pinto beans ca|
3|EUROPE|ly final courts cajole furiously final excuse|
4|MIDDLE EAST|uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furio
usl|
(5 行记录)


时间:0.456 ms

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
34#
 楼主| 发表于 2012-9-13 21:34 | 只看该作者
test_en=# select substr(a,1,length(a)-1) from temp;
                                                            substr

------------------------------------------------------------------------------------------------------------------------
------
0|AFRICA|lar deposits. blithely final packages cajole. regular waters are final requests. regular accounts are accordin
g to
1|AMERICA|hs use ironic, even requests. s
2|ASIA|ges. thinly even pinto beans ca
3|EUROPE|ly final courts cajole furiously final excuse
4|MIDDLE EAST|uickly special accounts cajole carefully blithely close requests. carefully final asymptotes haggle furio
usl
(5 行记录)


时间:0.894 ms

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
35#
 楼主| 发表于 2012-9-13 21:34 | 只看该作者
test_en=# copy (select substr(a,1,length(a)-1) from temp) to 'C:/Users/db2admin/Downloads/Tpc-h_windows/temp.txt';
COPY 5
时间:0.694 ms
test_en=# copy region from 'C:/Users/db2admin/Downloads/Tpc-h_windows/temp.txt' WITH DELIMITER AS '|';
COPY 5
时间:12.021 ms
test_en=# select * from region;
r_regionkey |          r_name           |                                                      r_comment

-------------+---------------------------+------------------------------------------------------------------------------
---------------------------------------
           0 | AFRICA                    | lar deposits. blithely final packages cajole. regular waters are final reques
ts. regular accounts are according to
           1 | AMERICA                   | hs use ironic, even requests. s
           2 | ASIA                      | ges. thinly even pinto beans ca
           3 | EUROPE                    | ly final courts cajole furiously final excuse
           4 | MIDDLE EAST               | uickly special accounts cajole carefully blithely close requests. carefully f
inal asymptotes haggle furiousl
(5 行记录)


时间:0.429 ms

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
36#
 楼主| 发表于 2012-9-13 21:34 | 只看该作者
这个方法对所有数据库都通用,真是高级

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
37#
 楼主| 发表于 2012-9-14 16:45 | 只看该作者
问题就是导入太慢,不实用
导出还是挺快的
test_en=# truncate table temp;
TRUNCATE TABLE
时间:17.400 ms
test_en=# copy temp from 'C:/Users/db2admin/Downloads/Tpc-h_windows/lineitem.tbl';
COPY 59986052
时间:3905138.205 ms
test_en=# copy (select substr(a,1,length(a)-1) from temp) to 'C:/Users/db2admin/Downloads/Tpc-h_windows/lineitemtemp.txt
'
test_en-# ;
COPY 59986052
时间:681285.384 ms
test_en=#

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
38#
 楼主| 发表于 2012-9-14 16:47 | 只看该作者
同样的步骤用c程序作,只是导出的时间
#include <stdio.h>
int main(int argc,char* argv[])
{
char s[1000];
FILE *in=fopen(argv[1],"r");
FILE *out=fopen(argv[2],"w");
while(1)
{
fgets(s,999,in);
if (feof(in))
break;
s[strlen(s)-2]='\0';
fprintf(out,"%s\n",s);
}
fclose(in);
fclose(out);
return 0;
}

C:\Users\db2admin\pgsql>cl -O2 fconv.c

C:\Users\db2admin\pgsql>ffc C:/Users/db2admin/Downloads/Tpc-h_windows/lineitem.t
bl lineitem.txt

C:\Users\db2admin\pgsql>time  0<cr
当前时间: 22:22:36.86
输入新时间:

C:\Users\db2admin\pgsql>fconv C:/Users/db2admin/Downloads/Tpc-h_windows/lineitem
.tbl lineitem.txt

C:\Users\db2admin\pgsql>time  0<cr
当前时间: 22:32:46.06
输入新时间:

使用道具 举报

回复
论坛徽章:
43
现任管理团队成员
日期:2011-05-07 01:45:08ITPUB元老
日期:2012-09-12 14:50:28版主5段
日期:2014-06-11 02:21:31阿斯顿马丁
日期:2013-11-19 10:38:16祖母绿
日期:2012-11-06 12:43:12路虎
日期:2013-11-20 11:37:53雪佛兰
日期:2013-09-05 13:28:25ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24秀才
日期:2015-05-26 13:32:07
39#
发表于 2012-9-14 16:57 | 只看该作者
〇〇 发表于 2012-9-14 16:47
同样的步骤用c程序作,只是导出的时间
#include
int main(int argc,char* argv[])

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
40#
 楼主| 发表于 2012-9-14 18:59 | 只看该作者
奇怪:
postgresql.conf
shared_buffers = 32MB                        # min 128kB

test_en=# select name, setting from pg_settings where name like 'share%';
           name           | setting
--------------------------+---------
shared_buffers           | 4096

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表