zoukankan      html  css  js  c++  java
  • 在RHEL 下安装PostgreSQL

    一、安装PostgreSQL
    1、从官方网站下载源代码包,然后解压到一个目录中,比如是/home/postgresql
    2、进入该目录:
      ./configure
      make
      make install
        如果想指定目录,那么使用--prefix选项,假如想安装在/usr/pgsql目录,那么执行 ./configure --prefix=/usr/pgsql

    二、初始化数据库集群
    PostgreSQL把基于同一个安装实例的所有数据库称为集群(Database Cluster),实际就是初始化一个供数据库引擎使用的目录。
    1、新建一个用户,一般都取名为postgres(如果取别的名字,后面会遇到各种麻烦,所以还是老老实实取这个名字为好)
      useradd postgres   #创建名为postgres的用户
          passwd postgres   #为postgres用户设置密码
      然后编辑postgres的用户目录中的.bash_profile文件,位置是/home/postgres/.bash_profile,这是一个隐藏文件,找到
      PATH= 这一行,在行末添加":/usr/pgsql/bin",注意,不包括引号。保存回到命令提示符时,执行source .bash_profile使配置文件立即生效。
      修改这个配置文件主要是为了让PostgreSQL的各种命令处于shell的命令查找路径中,这样我们后面输入命令时,就可以不使用绝对路径了。
    2、新建一个目录,并赋予权限
      cd /usr/pgsql
      mkdir data
      chown -R postgres ./data  
      最后一句的意思是,把新建的data目录的拥有者置换为postgres用户,这样,postgres用户对data目录就拥有了足够的权限
    3、使用该用户,初始化数据库集群
      su - postgres
      initdb -D /usr/pgsql/data
      使用-U username,--username=username可以指定数据库超级用户的用户名。 缺省是运行 initdb 的用户的有效用户。 

    4、如果使用默认的postgres用户,那么默认该用户是没有密码的,需要执行下面的语句来添加密码
    psql
    alter user postgres with password '新密码';
    记住,上一条语句的分号一定要输入,否则语句不被执行。

    三、网络配置
    PostgreSQL默认不支持通过TCP/IP访问,需要配置。
    1、配置postgresql.conf,使PostgreSQL支持网络访问
      该文件在上一步被初始化的data目录中,用编辑器打开,
      找到#listen_addresses='localhost'这一行,去掉前面的#符号,把localhost改为*,即
        listen_addresses='*',
      找到#port=5432这一行,去掉前面的#符号,
      找到#password_encryption = on这一行,去掉前面的#符号。
    2、配置pg_hba.conf文件
      在最后面,增加一行如下:
      host  all  all  0.0.0.0 0.0.0.0  md5

    四、启动数据库服务
      使用postgres用户,执行 pg_ctl start -D /usr/pgsql/data -l logfile,即可启动服务,执行完毕后,可以使用ps命令查询到postgres进程。

    备注:如果重装系统后,重装PostgreSQL数据库,如果Pg的主版本相同,那么可以直接使用保留下来的data目录,只要直接启动就可以,不用经过前面的初始化步骤了。到那时要注意,如果启动失败(ps命令看不到postgres进程,查看日志了解原因),那么很可能是copy的过程中,data目录的权限变了。此时只要把权限重新赋给postgres用户,就可以了。

  • 相关阅读:
    SharePoint自动化系列——Add content type to list.
    Java中通过Selenium WebDriver定位iframe中的元素
    Mac环境下用Java(Sikuli+Robot)实现页游自动化
    PowerShell处理RSS信息
    用Python脚本做一些网页游戏中力所能及的自动化任务
    利用Spire for .NET实现办公自动化——Spire.Doc
    两道关于数据处理方面的面试题
    用C#钩子写一个改键外挂
    C#实现中国天气网JSON接口测试
    C#实现中国天气网XML接口测试
  • 原文地址:https://www.cnblogs.com/fre2technic/p/1805851.html
Copyright © 2011-2022 走看看