`
matt.u
  • 浏览: 127894 次
  • 性别: Icon_minigender_1
  • 来自: CQ
社区版块
存档分类
最新评论

Linux下PostgreSQL数据库的安装

阅读更多
1、下载postgresql最新版:http://www.postgresql.org/ftp/source/

2、解压文件:
tar zxvf postgresql-8.3.7.tar.gz
cd postgresql-8.3.7

3、配置:
./configure --prefix=/usr/local/pgsql

4、编译:
make

5、安装:
make install

6、创建用户组和用户:
groupadd postgres
useradd -g postgres postgres

7、创建数据库库文件存储目录、给postgres赋予权限:
mkdir /usr/local/pgsql/data
cd /usr/local/pgsql
chown postgres.postgres data

8、初始化数据库目录:
切换用户
su - postgresql

初始化数据
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

启动数据库
/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data

9、配置监听地址和端口:
vi /usr/local/pgsql/data/postgresql.conf
取消以下两行的注释
listen_addresses = '*'
port = 5432

10、允许远程连接:
vi /usr/local/pgsql/data/pg_hba.conf
添加
host all all 192.168.1.0/24 trust

每项的具体意思在配置文件中有详细说明
配置iptables让远程主机能访问:
vi /etc/sysconfig
添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
service iptables restart

11、让postgresql数据库随系统启动而启动:
将启动脚本拷贝到/etc/init.d/目录下,具体执行如下命令:
cd /etc/rc.d/init.d
cp (第一步解压的安装文件目录)/postgresql-8.3.7/contrib/start-scripts/linux postgresql
chmod +x postgresql
vi postgresql
prefix=/usr/local/pgsql
PGDATA="/usr/local/pgsql/data"
PGUSER=postgres
PGLOG="/var/log/pgsql.log"

chkconfig --add postgresql
启动数据库:
service postgresql start

配置完毕 。


附步骤10中字段的详细说明:
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
说明每一行有五个字段,
分别是:连接类型、可使用的数据库名、使用者、DIDR地址、和验证方法等五项。
下面,我只介绍一些针对每个字段常用的选项。

字段一:TYPE。
可以选择:local或host。
前者只能允许本地的用户登陆Postgres数据库;后者可以接受远程客户登陆。所以,
我们应该使用“host”。

字段二:DATWABSE。
连接用户可以使用的数据库名字。可以使Postgres的一个具体的
数据库名,也可以使用“all”来允许用户访问所有数据库。

字段三:USER。
可以指定某个具体的用户来连接Postgres数据库(还要结合后面的地址字段),
也可以使用“all”来允许所有用户连接数据库。

字段四:DIDR-ADDRESS。
这可能会让您不知所措,不知道它为何物。
其实,它就是IP地址与掩码的另一种表示方法而已。
Postgres是通过这个字段来了解,允许那些IP或IP网段连接此服务器。
它的格式是: IP地址/掩码。
这个掩码和子网掩码是一个道理,只不过是用一个小于等于32的正数来表示,
表示的正是子网掩码中高几位为1,
比如,255.255.255.0 就是“24”,说明高24位是1。
192.168.0.1/32 相当于 IP为192.168.0.1,子网掩码为255.255.255.255的网段,
很显然,这只表明192.168.0.1IP自己。
如果您对IP地址与子网掩码不太了解,请查看相关资料。

字段五:METHOD。
这是验证方法。可选的有:
reject:拒绝这个IP的用户访问;
md5:密码以md5作为hash编码;
password:密码作为明文传输(好恐怖!);
krb5:密码以krb5作为hash编码。
下面举一个例子,来说明如何进行设置:
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
#允许IP为192.168.0.1的所有用户登陆到Postgres服务器的所有数据库,采用md5验证。
host      all                 all            192.168.0.1/32          md5
#允许用户testuser在192.168.0.XX的网段任意机器登陆Postgres服务器,
#只能使用数据库testdb,采用md5验证。
host      testdb           testuser 192.168.0.1/24          md5
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics