分享
 
 
 

PostgreSQL 8.0上手(Windows平台)

王朝system·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

我的配置:Windows 2000英文版,PostgreSQL 8.0

先在Windows下按提示安装好PostgreSQL 8.0,PostgreSQL可以作为一个系统服务也可以作为独立的程序启动,是个人喜好而定。我将其安装为一个系统服务。

建立数据库

首先确保PostgreSQL系统服务启动,我们可在命令行下或是在pgAdmin GUI界面下建立新数据库。如果你不愿在默认目录下放你的数据库文件,你可以新建一个Tablespace在你想要的地方,然后再在这个Tablespace下建立数据库。

启动命令行,cd到$POST_HOME\bin下,$POST_HOME指你的安装目录,比如C:\Program Files\Postgresql\8.0。敲入

createdb mydb

它会提示你输入当前系统用户的口令。敲入口令后回车即建立了名为mydb的数据库。如果你想在名为myplace的Tablespace下建立数据库,则需敲入

createdb -D myplace mydb

如果你在安装PostgreSQL时还指定了另外的用户名,如steve,则需敲入

createdb -U steve -D myplace mydb

建立好数据库后我们即可用psql来跟数据库打交道了。在命令行下敲入

psql -U steve mydb

输入口令即进入了psql。在psql下我们可用标准SQL语言来建立表、视图及触发器等。

如果在pgAdmin下建立则方便很多,单击鼠标右键按提示录入即可。

中文问题

要使PostgreSQL说中文,我们可选择使用Unicode来建立数据库。在PostgreSQL中使用的是UTF-8而非UCS-2。这样做的好处显而易见,因为UTF-8的字符结构非常有规律,而且UTF-8也是Linux下的默认编码。在UTF-8编码下一个汉字占用三个byte(知道这一点的人反而容易出错,见下文)。现在将mydb建立成Unicode编码的:

createdb -E UNICODE -U steve -D myplace mydb

然后我们就可以建立基于UTF-8的表、视图等了。当然,在Windows 命令行下是不支持Unicode的。我们可以将SQL语句保存在UTF-8编码的文件中,比如$POST_HOME\mytables.sql中。然后在psql下运行\i mytables.sql。需要注意的是,虽然Windows下的记事本可以保存成UTF-8编号(默认字体显示不了中文,改用Tohoma字体即可),但可恶的是,在记事本中,如果使用UTF-8编码,则在文档前添加“”(ASCII:8BAFA8, Unicode:00EF00BB00BF);如果使用UCS-2(Unicode) 编码,则在文档前添加“ÿþ”(ASCII:98E7, Unicode:00FF00FE)。这将导致SQL命令运行失败!(这就是Microsoft可恨之处,连这种小地方也存心跟人过不去,非要加上MS特有的垃圾,我记得当初W3C的Amaya也不认记事本写出来的XML文件,后来妥协了,连W3C拿MS都没办法),如果使用记事本写的Unicode文件,一定要记得除去着可恶的前导字符。(写个Python或Perl脚本就可以了,不嫌麻烦用Java也可以:))。我的做法是在记事本中写,但不保存,直接Copy下来在pgAdmin中的SQL Query中运行。(pgAdmin是用wxWindows写的,显示中文没问题啦)。现在我们可以建立中文表了:

CREATE TABLE mytable (

日期 date NOT NULL,

姓名 char(4) PRIMARY KEY,

性别 char(1) NOT NULL CHECK (性别 IN ('男', '女')),

年龄 smallint NOT NULL CHECK (年龄 BETWEEN 0 AND 200),

描述 varchar(20)

);

你可能奇怪了,一个汉字不是占用三个字节吗,怎么[性别]的类型是char(1)?原来在Postgresql中char(n) (或是varchar(n)等)中的n指的是字符(characters)个数而不是字节(octets)个数。

JDBC连接

在$POST_HOME\jdbc中有所需的JDBC Driver。其中含有jdbc3的那个jar文件支持JDBC 3.0。Driver的类名是org.postgresql.Driver,路径格式为jdbc:postgresql://[host]:[port]/[dbname],默认的port为5432。如,要建立到我们的数据库mydb,路径为:jdbc:postgresql://localhost/mydb。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有