Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6320813
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

分类: Mysql/postgreSQL

2014-09-11 12:22:08

    首先介绍下我的开发环境,Win7下安装VMware Player虚拟机(比VMware更轻量级,比较好用),虚拟机中安装的openSUSE-13.1-DVD-i586操作系统。后面的所有实验都是通过SecureCRT客户端连接上openSUSE进行操作,如果出现连接不上的情况,可以参考我的另一篇博文http://blog.chinaunix.net/uid-27213819-id-4451595.html
    PG安装步骤:
1、下载pg源码。
2、解压后进入源码目录,运行./configure进行编译前的配置。通过./configure --help可以查看帮助,这里我用--prefix指定了安装路径。
    
    但是,我这里遇到了一个错误提示,
    
    提示说readline这个依赖包没有找到,解决办法有两个,一是配置时加上--without-readline选项,二是手动安装需要的包。我第一次为了图方便,使用了--without-readline选项,结果在敲SQL语句的时候发现键盘上的上下左右键都失灵了,很是不方便,所以这里强烈建议不到万不得已不要使用--with-readline。
    如果手动的去下载安装readline(readline-devel)包会发现很麻烦,因为有很多的依赖关系,我们可以利用openSUSE自带的YaST软件管理工具进行安装。安装方法如下:
    ① 在操作系统的开始菜单,Computer中打开YaST,然后单击Software栏的Software Management。
    
    ② 搜索readline,选上readline-devel,单击accept安装即可。
    
    再次运行./configure --prefix=/opt/pgsql/,问题解决。(如果有其他依赖包需要安装,可以参照前面的步骤)
3、gmake world 这会编译所有的源文件,包括contrib文件夹下的工具包。
4、gmake install-world 安装所有工具包括文档,加上world省去了很多麻烦。
5、我这里在adamhu这个用户下进行数据库的初始化,首先修改adamhu用户的bashrc文件,添加下面内容
    export PGPORT="1989"                      //PG连接端口,我改成了1989
    export PGDATA="/opt/pgsql/data"       //PG数据存放路径
    export LANG="en_US.utf8"                 //语言环境
    export PGHOME="/opt/pgsql"              //PG安装目录
    export LD_LIBRARY_PATH="$PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH"
    export DATE=`date+"%Y%m%d%H%M"`
    export PATH="$PGHOME/bin:$PATH:."
    export MANPATH="$PGHOME/share/man:$MANPATH"
    export PGUSER="adamhu"                  //默认的登录用户
    export PGHOST="localhost"
    alias rm="rm -i"
    alias ll="ls -lh"
    export PGDATABASE="postgres"         //默认连接的数据库
    
    修改环境变量,重启系统后生效。(或者直接在终端中export一次也可以,这样就省得重启了)
6、用root用户在PGHOME下建立data文件夹,并将所有者改为adamhu,作为PG的数据存放文件夹,当然你也可以放在任何你想要的地方。
7、adamhu用户下,进入PGHOME的bin目录,用initdb来初始化数据库集簇。initdb --help可以查看帮助。
    
8、启动PG数据库,pg_ctl start即可。
    
9、连接数据库,psql即可连接上,因为我们在adamhu的bash文件中设置了默认值,但还是推荐连接时用完整的psql命令。
    
    
     最后,如果需要远程连接登录,我们首先要修改系统防火墙,保证系统允许远程连接(openSUSE默认是不允许远程连接的),同时修改pg_hba.conf和postgresql.conf文件。
    pg_hba.conf: 添加 host all all 0.0.0.0/0 password  
    postgresql.conf: 设置监听端口和IP,一般设置listen_address="*"

补充: 登录数据库  psql -h localhost -U postgre -w -d postgres -p1989
在初始化数据库集簇时会设置一个超级用户,如果出现‘role username doesn't exist’的提示,可以先用超级用户登录,createuser添加新用户再登录。
 
阅读(924) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~