作者:北京城市环境监督主力军 | 来源:互联网 | 2014-05-28 15:41
数据库可以说是web开发中不可逃避的一种技术,最近由于django项目的需要,需要用到postgreSql,而且是在windows平台下搭建。之前从来没有用过postgreSql。用到的关系型数据库就是mysql了,非关系型数据库是mongodb,而且都是在linux或者mac的平台下面弄的。
数据库可以说是web开发中不可逃避的一种技术,最近由于django项目的需要,需要用到postgreSql,而且是在windows平台下搭建。之前从来没有用过postgreSql。用到的关系型数据库就是mysql了,非关系型数据库是mongodb,而且都是在linux或者mac的平台下面弄的。但是项目需要,没办法,只好在windows下配置postgreSql.
同mysql一样,postgreSql也是一款开源的数据库,它号称是最先进的开源的数据库。网上对比了一下postgreSql和mysql,发现它们专注的方向不一样。postgreSql主要是专注于稳定性以及企业级应用的扩展,常常作为oracle的替代品。mysql注重性能的提高,支持多种存储引擎,用法一般也比较简单,是一般小的快速开发团队的最爱。其实最新的版本中二者都融入了对方的一些好的特性。个人觉得具体使用那个数据库完全可以凭借个人喜欢和个人习惯,也可以根据系统啦,Linux的话建议mysql,windows可以是postgresql。下面就来安装吧。
首先去官网中下载postgresql的windows下的安装包。我用的是postgresql的9.0版本。windows吗,就需要管中间步骤了,一直点击Next就好。注意选择Locale的时候选择C,因为postresql不支持GBK编码。一般选择C的话默认没有编码。防止新建数据库的时候编码出现问题。
安装完成之后将postgresql安装目录下的bin的目录加入环境变量PATH中,为了方便使用命令行。鄙人有长期使用linux和mac,对命令行情有独钟,即使是windows也是希望有命令行。
环境变量设置完之后就开始新建数据库了。首先需要设置数据库data存放的位置,需要使用指令是initdb。后面可以跟参数-D指定path,指令如下:
initdb -D D:\postgresql\data -E UTF8 --locale=C
-E
UTF8值得编码方式,非常的重要,特别是windows下。--locale=C也是保证不是GBK。如果不想每次执行指令的时候都是用-D
path指定路径就可以将path设置到PGDATA的环境变量中。
下面就是要启动posrgresql的服务器了。就是使用pg_ctl,指令如下:
pg_ctl start -D path
pg_ctl同时也支持将其注册成windows的service,可以用windows的service系统管理,指令如下:
pg_ctl register -D path -N service-name -U username -P
password
注册之后就可以使用:
net start service-name
net sop service-name
来启动和关闭服务,同时也可以使用windows自带的service管理客户端管理。
之后需要设置用户。postgresql的用户管理比mysql要傻瓜一点,用createuser就可以了,指令如下:
createuser name -P
之后就会有交互式的提示出来。只需要一步步执行就好。其中-P表明需要设置密码,如果没有就是不设密码.
接下来就创建我们的第一个数据库,使用的时候createdb,指令如下:
createdb dbname -E UTF8 -D path -U username -W password
可以为用户创建db。
之后大显身手的就是psql指令了。如果你已经用sql脚本了,就可以直接导入就是:
psql dbname <**.sql
交互式数据库登陆就是
psql dbname -U username -W password
其中支持很多meta指令
\a 当前表
\cd directory 切换工作路径
\d 显示当前的数据库
.......
具体的可以上网查。postgresql自带的pgAdmin是一个比较好的图形交互的软件。很多的工作都是可以通过它来做。
环境搭建好了,之后在django中配置用户名和密码就可以直接使用了。