51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2508|回复: 5
打印 上一主题 下一主题

[求助] linux下postgres数据库开机如何开机启动?

[复制链接]
  • TA的每日心情
    奋斗
    2017-5-17 09:46
  • 签到天数: 74 天

    连续签到: 1 天

    [LV.6]测试旅长

    跳转到指定楼层
    1#
    发表于 2013-12-2 11:05:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    请问一下大家,linux下postgres数据库开机如何设置开机启动?谢谢!
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    5 天前
  • 签到天数: 941 天

    连续签到: 3 天

    [LV.10]测试总司令

    2#
    发表于 2014-6-20 14:48:39 | 只看该作者
    请问一下大家,linux下postgres数据库开机如何设置开机启动?谢谢!
    liu51 发表于 2013-12-2 11:05



        Linux下postgresql 安装
    1 添加用户 创建目录
      useradd postgres -d /usr/local/pgsql
      passwd postgres
      mkdir /usr/local/pgsql/
      mkdir /usr/local/pgsql/data
      chown -R postgres /usr/local/pgsql
      chown postgres /usr/local/pgsql/data

    2 设置环境变量
      vi /etc/profile
      export LD_LIBRARY_PATH=/usr/local/pgsql/libLD_LIBRARY_PATH
      export PATH=/usr/local/pgsql/binPATH
      export PGDATA=/usr/local/pgsql/data
      export MANPATH=$MANPATH:/usr/local/pgsql/man

    3 安装
       ./configure --prefix=/usr/local/pgsql ;make;make install

    4 初始化数据库
      su postgres
      /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
      
    5 添加开机自启动
      chmod a+x /postgresql-8.1.9(postgresql解压目录)/contrib/start-scripts/linux
      cp /tmp/postgresql-8.1.9/contrib/start-scripts/linux /etc/init.d/postgresql
      chkconfig --add postgresql

    6 换数据库用户postgres的密码
      psql template1
      然后
      ALTER USER postgres WITH PASSWORD 'password';

    7 添加外部的访问连接
      在pg_hba.conf加上
      

    host    all         all         0.0.0.0/0      trust

    修改postgresql.conf

    listen_addresses = '*'


      启动
        /usr/local/pgsql/bin/postmaster -i -D /usr/local/pgsql/data &
    or
        /usr/local/pgsql/bin/pg_ctl -i -D /usr/local/pgsql/data -l logfile start
      关闭   kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`

    ===============================================

    是了,我来这里就只能总结一下了,   
      Linux下,postgresql.conf   pg_hba.conf   都是放在$PG_DATA目录下,也就是一般的...../data目录下   
       
      访问的控制是修改pg_hba.conf文件,如果加入的是下面行:   
      host         all                   all                   192.168.0.0           255.255.255.0           md5   
      这时,你从那个网段上访问任何数据库时,就要密码,密码在传的过程中是加密码的,   
      如果加下面一行:   
      host         all                   all                   192.168.0.0           255.255.255.0           password   
      这时,你从那个网段上访问任何数据库时,就要密码,密码在传的过程中是没加密码的,   
      如果加下面一行:   
      host         all                   all                   192.168.0.0           255.255.255.0           trust   
      这时,你从那个网段上访问任何数据库时,就不要密码,   
       
      修改postgresql.conf   
      中     
      把#tcpip_socket   =   false   
      改成tcpip_socket   =   true   
      这样你在启动时是否加有i   参数,客户端都可连上你的数据库!

    一、实现远程连接Linux上的PostgreSQL服务器。

    主要分两个步骤:

    <1>要使Linux上的PostgreSQL打开 “unix的tcpip套接子”。

    编辑 $POSTGRES/data/postgresql.conf 文件,

    将tcpip_socket=off改成tcpip_socket=on即可。

    <2>设置远程访问认证机制。

    编辑 $POSTGRES/data/pg_hba.conf 文件,

    这个文件上面一大堆都是介绍如何使用这个文件使进行配置的,

    最下面才是真正让我们填写东西的地方。

    其中,有一行注释:

    # 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
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    5 天前
  • 签到天数: 941 天

    连续签到: 3 天

    [LV.10]测试总司令

    3#
    发表于 2014-6-20 14:49:09 | 只看该作者
    你可以参考下~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    4#
    发表于 2014-8-25 21:29:17 | 只看该作者
    自己写个脚本来启动就行了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    5#
    发表于 2014-8-25 21:29:31 | 只看该作者
    这个还得加一些判断
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-31 08:59
  • 签到天数: 975 天

    连续签到: 1 天

    [LV.10]测试总司令

    6#
    发表于 2014-8-27 08:45:48 | 只看该作者
    参考下管理员的
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-5 05:28 , Processed in 0.073247 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表