分享
 
 
 

PostgreSQL入门,V0.9.3+++

王朝mssql·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

安装篇

我下载了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 文件名”这个参数,所有的错误都会被记录到这个文件里。

代码:

[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”过去操作将不能正常执行。

和大家共同进步。下面是我安装时参考的帖子:

http://www.freelamp.com/new/publish/1022414614/index_html

http://chinaunix.net/jh/18/546.html

http://chinaunix.net/jh/18/548.html

我四处查找链接里所说的“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)。左边有“#”的内容都是被注释掉的,起说明或参考等作用。

我以我现在的文件为例做说明(里面的中文为我的说明):

代码:

# PostgreSQL Client Authentication Configuration File

# ===================================================

#

# Refer to the PostgreSQL Administrator's Guide, chapter "Client

# Authentication" for a complete description.

A short synopsis

# follows.

#

# This file controls: which hosts are allowed to connect, how clients

# are authenticated, which PostgreSQL user names they can use, which

# databases they can access.

Records take one of three forms:

#

# local

DATABASE

USER

METHOD

[OPTION]

# host

DATABASE

USER

IP-ADDRESS

IP-MASK

METHOD

[OPTION]

# hostssl

DATABASE

USER

IP-ADDRESS

IP-MASK

METHOD

[OPTION]

#

# (The uppercase quantities should be replaced by actual values.)

# DATABASE can be "all", "sameuser", "samegroup", a database name (or

# a comma-separated list thereof), or a file name prefixed with "@".

# USER can be "all", an actual user name or a group name prefixed with

# "+" or a list containing either.

IP-ADDRESS and IP-MASK specify the

# set of hosts the record matches.

METHOD can be "trust", "reject",

# "md5", "crypt", "password", "krb4", "krb5", "ident", or "pam".

Note

# that "password" uses clear-text passwords; "md5" is preferred for

# encrypted passwords.

OPTION is the ident map or the name of the PAM

# service.

#

# This file is read on server startup and when the postmaster receives

# a SIGHUP signal.

If you edit the file on a running system, you have

# to SIGHUP the postmaster for the changes to take effect, or use

# "pg_ctl reload".

# Put your actual configuration here

# ----------------------------------

#

# CAUTION: The default configuration allows any local user to connect

# using any PostgreSQL user name, including the superuser, over either

# Unix-domain sockets or T

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有