岁月联盟 · 中国技术网 本站主页 | 安全认证 | 用户服务 | 技术论坛
新闻快报 | 新手学堂 | 黑客特区 | 程序语言 | 数 据 库 | 防 火 墙 | 路由交换 | 系统集成 | 服 务 器 | 存储备份 | 考试认证
Windows | Linux | Java | 协议分析 | 问题解答 | 进程大全 | 网页设计 | 多 媒 体 | 图库资料 | 软件下载 | 站内下载
  您现在的位置: 岁月联盟 >> 数据库 >> POSTGRE >> 数据库正文
PostgreSQL入门,V0.9.3+++
作者:未知 文章来源:本站整理 点击数: 更新时间:2007-12-18 18:29:53

  安装篇
  
  我下载了PostgreSQL7.3.4,是源代码,保存为“/opt/lin_app02/tmp/download/PostgreSQL/R1/postgresql-7.3.4.tar.gz”。下载后,我在这个目录下开了终端(rxvt),执行命令:
  代码:
  
  [root@TFW-RFL40F R1]# tar zxvfp ./postgresql-7.3.4.tar.gz
  
  得到一个目录“postgresql-7.3.4”。
  代码:
  
  [root@TFW-RFL40F R1]# cd postgresql-7.3.4
  [root@TFW-RFL40F postgresql-7.3.4]# ./configure --prefix=/opt/lin_app02/postgres --enable-locale --enable-multibyte --with-perl --with-odbc --with-tcl
  
  ......
  对上面一步的说明:
  ./configure
  
  configure不加任何选项,系统将按默认的设置安装postgresql,查看configre的相关选项可以使用:configure -help
  
  一些最常用的如下:
  
  --prefix=BASEDIR
  为安装 PostgreSQL 选择一个不同的基础路径。缺省是 /usr/local/pgsql。
  
  --enable-locale
  如果你想用本地化支持。
  
  --enable-multibyte
  允许使用多字节字符编码。这个选项主要用于象日语,韩语或中文这样的语言。
  
  --with-perl
  添加 Perl 模块接口。请注意 Perl 接口将安装到 Perl 模块的常用位置(典型的是在 /usr/lib/perl),所以要成功使用这个选项,你必须有 root 权限。
  
  --with-odbc
  制作 ODBC 驱动包。
  
  --with-tcl
  制作 Tcl/Tk 需要的接口库和程序,包括 libpgtcl,pgtclsh,和 pgtksh。
  
  这些编译参数告诉编译器如何编译PostgreSQL:
  代码:
  
  [root@TFW-RFL40F postgresql-7.3.4]# make
  
  ......
  代码:
  
  [root@TFW-RFL40F postgresql-7.3.4]# make install
  
  ......
  中间不报错的话,安装就完成了。
  
  初始化
  
  创建一个存放数据库文件的目录:
  代码:
  
  [root@TFW-RFL40F postgresql-7.3.4]# mkdir /opt/lin_app02/postgre-data
  
  下面要设置环境变量。由于安全原因,PostgreSQL是不让“root”等特权用户用的。为了方便,我就用日常工作的“typhoon”身份管理PostgreSQL,但是建议大家为管理PostgreSQL新创建一个用户。为了方便,我直接修改了“/etc/profile”,但是建议修改个人主目录下的“.bash_profile”。
  
  我在环境变量文件里添加了如下内容:
  代码:
  
  ########################################
  #  PostgreSQL
  LD_LIBRARY_PATH=/opt/lin_app02/postgres/lib
  export LD_LIBRARY_PATH
  PGLIB=/opt/lin_app02/postgres/lib
  PGDATA=/opt/lin_app02/postgre-data
  PATH=$PATH:/opt/lin_app02/postgres/bin
  MANPATH=$MANPATH:/opt/lin_app02/postgres/man
  export PGLIB PGDATA PATH MANPATH
  ########################################
  
  看着挺麻烦,其实就是下面的格式:
  LD_LIBRARY_PATH=<--prefix所指的地方>/lib
  export LD_LIBRARY_PATH
  PGLIB=<--prefix所指的地方>/lib
  PGDATA=<你放数据库文件的地方>
  PATH=$PATH:<--prefix所指的地方>/bin
  MANPATH=$MANPATH:<--prefix所指的地方>/man
  export PGLIB PGDATA PATH MANPATH
  
  刚才提到的那些目录都是在“root”身份下创建的,要让它们能为“typhoon”所用,还得改权限:
  代码:
  
  [root@TFW-RFL40F postgresql-7.3.4]# chown -R typhoon.typhoon /opt/lin_app02/postgre*
  
  即:
  chown -R <PostgreSQL管理员所在组>.<PostgreSQL管理员用户名> <--prefix所指的地方>
  chown -R <PostgreSQL管理员所在组>.<PostgreSQL管理员用户名> <你放数据库文件的地方>
  
  然后我关闭了X,并注销,再重新登录,以使环境变量生效。
  
  代码:
  
  [typhoon@TFW-RFL40F typhoon]$ initdb
  
  这个命令用来初始化PostgreSQL。请确保执行前你放数据库文件的地方是空的。
  
  初始化后会自动创建数据库的超级用户,用户名与安装、执行初始化的操作系统用户同名。可能还会自动创建一个与用户名同名的数据库。在我这里就是用户“typhoon”和数据库“typhoon”。直接执行“<--prefix所指的地方>/bin/psql”就能登录进去。“\q”可以退回操作系统的shell。如果这个数据库没有自动生成,请执行“<--prefix所指的地方>/bin/createdb [用户名]”,即以你的用户名创建一个数据库。这个数据库就相当于你的“Home”,没这个数据库,做某些事情就不方便。
  
  启停方法
  
  代码:
  
  [typhoon@TFW-RFL40F typhoon]$ postmaster -i -D ./postgre-data/&
  
  postmaster -i -D <database-path>&
  ......
  这是开始数据库系统的服务。后面那个“&”最好带上,否则,......:-D
  
  上面说的启动方法是正规方法,PostgreSQL还提供了封装的控制脚本“<--prefix所指的地方>/bin/pg_ctl”。
  代码:
  
  [typhoon@TFW-RFL40F typhoon]$ pg_ctl -l ./123/pg.log start
  
  如果有“-l 文件名”这个参数,所有的错误都会被记录

[1] [2] 下一页


  • 上一个数据库: 没有了
  • 下一个数据库:
  •  
    热门文章
    推荐文章
    关于我们 | 发展历程 | 网站地图 | 广告服务 | 招贤纳士 | 战略合作 | 友情链接 | 著作声明 | 联系我们
    Copyright © 2002-2007 SYUE All rights reserved.
    E_mail:Admin@Syue.Com 皖ICP备05004589号
    未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
    bet365 传世私服 传奇世界私服 bet365 传奇私服 bet365 热血江湖私服 天龙八部私服