PostgreSQL入门(1)
敬业的IT人
互联网
佚名
2008-1-8 16:25:27
- ·PostgreSql服务器的配置
·postgresql+jdbc+servlet中文问题
·PostgreSQL 最新8.2版发布
·PostgreSQL最常见问题(1)
·OpenBSD4.0 PostgreSQL8.1.5数据库的
·postgresql认证和用户管理
·MySQL和PostgreSQL承诺大力提高产品性
·在Linux上应用PostgreSQL
·PostgreSQL 研习
·PostgreSQL 的昨天今天和明天
我下载了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
chown -R
然后我关闭了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
......
这是开始数据库系统的服务。后面那个“&”最好带上,否则,......:-D
上面说的启动方法是正规方法,PostgreSQL还提供了封装的控制脚本“<--prefix所指的地方>/bin/pg_ctl”。
[typhoon@TFW-RFL40F typhoon]$ pg_ctl -l ./123/pg.log start
如果有“-l 文件名”这个参数,所有的错误都会被记录到这个文件里。
代码:
[typhoon@TFW-RFL40F typhoon]$ pg_ctl stop
停止服务。既然是停止,就别管什么记录文件了。
代码:
[typhoon@TFW-RFL40F typhoon]$ pg_ctl -l ./123/pg.log restart
相当于先“stop”再“start”。
代码:
[typhoon@TFW-RFL40F typhoon]$ pg_ctl reload
如果对配置文件做了修改,想不中断服务而立即生效,就这样。
注意:PostgreSQL管理员最好从“Login:”、xdm或kdm登录系统,因为如果“su”过去操作将不能正常执行。
和大家共同进步。下面是我安装时参考的帖子:
我四处查找链接里所说的“egcs-c++”,也没下载到,后来才知道“egcs-c++”已经被整合进高版本的“gcc”里了。我的“gcc”是3.2的。大家的“gcc”如果高于2.8,也就不要再到处找“egcs-c++”了。
安全管理
初始化后,在数据库目录里会有这样两个文件:“postgresql.conf”和“pg_hba.conf”。
修改“postgresql.conf”第30行左右的地方为顶格“tcpip_socket = true”,以允许网络访问。
“pg_hba.conf”,基于主机的访问控制(Host Based Access)。左边有“#”的内容都是被注释掉的,起说明或参考等作用。
你需要为psql程序带入参数:psql -d databasename -U username -W。-d用来指定数据库,-U指定用户名,而-W要求psql提示你输入一个口令。当你成功地运行了psql以后,将每个CREATE TABLE查询单独地粘贴到psql中并按回车键。如果在你的SQL语句中有错误,psql会给出相应提示。通过逐一地加入每一个表,你会得到每一个表的调试信息,这样做起来相当简单。如果,在你输入了表的定义之后,你发现遗漏了一两个字段,有两种方法能
- 最新文章
- Web编程技术细览[01-08]
- NOTES数据库中的未读文档操作[01-08]
- Datawindow的制作技巧[01-08]
- 动态配置ODBC数据源[01-08]
- JDBC2.0扩展API[01-08]
- 紧急救援:用户自定义的数据库修复[01-08]
- 相关文章
- 不当编写SQL语句导致系统不安全[01-08]
- 优化--让你的SQL运行速度明显提高[01-08]
- 从网络上登录其它计算机的PostgreSQL[01-08]
- 在Ubuntu和Debian系统下安装PostgreSQL[01-08]
- SQL注入奇招致胜 UNION查询轻松免费看电影[01-08]
- PostgreSQL数据库学习手册之备份和恢复[01-08]
