PostgreSql服务器的配置
PostgreSql服务器的配置
Postgres 通过一种让用户可以很容易扩展系统的方法整合了下面四种基本概念,使其能提供可观的附加功能:
类/表(classes)
继承(inheritance)
类型(types)
函数(functions)
其他特性还提供了附加的功能和灵活性:
约束(constraints)
触发器(triggers)
规则(rules)
事务完整(transaction integrity)
这些特性将 Postgres置于对象-关系 (object-relational) 型数据库的范畴.尽管Postgres有一些面向对象的特性,它仍然属于关系型数据库的范畴, 事实上,一些商用数据库最近已经集成了一些Postgres 所领先的特性.
1.对系统的要求:
安装在RedHat Linux 6.0下测试通过。
要用“root”用户进行安装。
PostgreSQL的版本是7.0
而且一定要先安装egcs-c++-1.1.2-24.i386.rpm软件包。
尽管运行 PostgreSQL 的最小内存需求少到只有 8MB,如果我们把内存增加到96MB,可以看到显著的性能改善。
检查你有足够的磁盘空间。你需要为源代码树准备大约30M字节的空间,为安装目录准备大约5M字节。为一个空数据库准备约 1 M字节,否则包含同样数目数据的平面文件将大约是这个数目的五倍。在回归测试过程中,你会暂时需要约 20 M字节.
检查你有足够的磁盘空间。你需要为源代码树准备大约30M字节的空间,为安装目录准备大约5M字节。为一个空数据库准备约 1 M字节,否则包含同样数目数据的平面文件将大约是这个数目的五倍。在回归测试过程中,你会暂时需要约 20 M字节.
在编译PostgreSQL之前。首先看一下“egcs-c++-1.1.2-24.i386.rpm”是不是已经安装。没有的话,那就赶紧装吧。“egcs-c++-1.1.2-24.i386.rpm”直接可从Redhat的光盘里获得,在“RedHat/RPMS”下。
验证egcs-c++-1.1.2-24.i386.rpm是否安装,用命令:
#rpm -qa|grep egcs
安装egcs用:
# rpm -Uvh egcs-c++-version.i386.rpm
2.下载Postgresql源码包:
Postgresql到本书发表为止已经推出了7.0.2的版本:
由于postgres7.0.2不支持RPM安装格式,故我们只介绍源码方式的安装
ftp://ftp.postgresql.org/pub/v7.0.2/postgresql-7.0.2.tar.gz
3.安装Postgresql:
由于postgres7.0.2不支持RPM安装格式,故我们只介绍源码方式的安装;
1、解包:
#tar xzvf postgresql-7.0.2.tar.gz
#cd postgresql-7.0.2
2、创建postgresql用户
以 root,bin 或者其他有特殊权限的用户身份运行 PostgreSQL 存在安全问题,因而是不允许的。这是运行服务器的用户。用于生产时你可以创建一个独立的非特权的用户(常用 postgres)
#useradd -M -o -r -d /var/lib/pgsql -s /bin/bash -c "PostgreSQL Server" -u 40 postgres
修改好postgres用户的密码,以postgres用户登录系统;
3、设置编译参数:
$CC="egcs"
进入解包后的postgresql源文件目录:
$ ./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:
4、编译源码:
$make
5、按照ocnfigure的配置按照程序:
#su
#make install
在这里我们架设postgresql安装在默认的位置/usr/local/
6、配置共享库:
告诉你的系统如何找到共享库。如何实现这些因平台而异。看起来可以在任何地方生效的方法是设置环境变量
LD_LIBRARY_PATH: # LD_LIBRARY_PATH=/usr/local/pgsql/lib # export LD_LIBRARY_PATH
你可能把这些放到一个 shell 启动文件里,象 ~/.bash_profile。
在一些系统里,下面的方法是最好的方法,但是你必须有 root 权限。编辑文件 /etc/ld.so.conf,增加一行
/usr/local/pgsql/lib
然后运行命令:
#/sbin/ldconfig
7、用postgres数据库超级用户完成数据库的安装:
你必须用 PostgreSQL 超级用户帐号登录执行这一步。以 root 是不能进行这一步的;
# mkdir /usr/local/pgsql/data # chown postgres /usr/local/pgsql/data #su postgres $ /usr/local/pgsql/initdb -D /usr/local/pgsql/data We are initializing the database system with username postgres (uid=40). This user will own all the files and must also own the server process. Creating Postgres database system directory /var/lib/pgsql/base Creating template database in /var/lib/pgsql/base/template1 Creating global classes in /var/lib/pgsql/base Adding template1 database to pg_database... Vacuuming template1 Creating public pg_user view Creating view pg_rules Creating view pg_views Creating view pg_tables Creating view pg_indexes Loading pg_des cription
-D 选项声明数据存储的位置。你可以使用任何你想用的路径,它不必在安装目录里。在运行 initdb 前只要确保数据库超级用户帐户可以写(或者创建)那个目录就行了。
8、启动postgresql服务;
前面的步骤应该已经告诉你如何启动数据库服务器。现在就做。
$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
这样将在前台启动数据库服务器。要把它放到后台,使用 -S。
4.配置Postgresql的脚本文件
配置“/etc/rc.d/ini.d/postgresql”脚本文件,用来启动和停止PostgreSQL服务器。
创建“postgresql”脚本文件(touch /etc/rc.d/init.d/postgresql)并加入:
#! /bin/sh # postgresql This is the init s cript for starting up the PostgreSQL # server # chkconfig: 345 85 15 # des cription: Starts and stops the PostgreSQL backend daemon that handles # all database requests. # processname: postmaster # pidfile: /var/run/postmaster.pid # # Source function library. . /etc/rc.d/init.d/functions # Get config. . /etc/sysconfig/network # Check that networking is up. # Pretty much need it for postmaster. [ ${NETWORKING} = "no&q
上一个:mongodb应用学习笔记
下一个:Hadoop(CDH4发行版)集群部署
- 更多SQLServer疑问解答:
- 配置MSSQL复制指定快照文件夹提示:不是有效的路径或文件名
- 详细解读varchar和Nvarchar区别
- SQL SERVER 2005 同步复制技术
- 进程未能大容量复制到表 解决方法
- MSSql实例教程:MSSql数据库同步
- SQLServer2000同步复制技术实现(分发和订阅)
- sqlserver
- SQLSERVER
- 测试 sqlserver 最大用户数连接
- 写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的
- sqlserver2008的安装问题。
- 为什么安装的SQL server 2008我的没有MSSQLSERVER协议啊?
- 怎样把exel表里的数据复制到sqlserver表里
- sqlserver数据库主键和外键问题
- sqlserver 中的左表连接查询和右表连接查询有啥不同?有什么用?