现在的位置: 首页 > 综合 > 正文

linux下Postgresql-9.2安装及数据库的创建过程

2017年11月19日 ⁄ 综合 ⁄ 共 2326字 ⁄ 字号 评论关闭

公司写部署手册需要,现总结一些linux下postgresql的安装及数据库创建的详细步骤吧!

1.1.1  软件安装

  1.设置用户组和用户级别

    Postgresql不能以root身份运行,要以其他的身份运行,所以必须建立对应的用户和组。

(1)新增postgresql用户组:groupadd postgresql

(2)新增postgres用户属于postgresql用户组:useradd -g postgresql postgres

(3)修改postgres用户密码:passwd postgres(这里设置密码为postgres

  2.安装postgresql软件

(1)为 postgresql-9.2.4-1-linux-x64.run赋予可执行权限:

(2)安装postgresql./postgresql-9.2.4-1-linux-x64.run,一路Enter键,保持默认配置即可。默认安装路径/opt/PostgreSQL

(3)配置环境变量:执行vi /etc/profile修改全局环境变量文件,在profile文件里面添加下面三句话,

export LD_LIBRARY_PATH=/opt/PostgreSQL/9.2/lib;$LD_LIBRARY_PATH

export PATH=/opt/PostgreSQL/9.2/bin:$PATH

export PGDATA=/opt/PostgreSQL/9.2/data

执行成功后,立即生效可用source /etc/profile。

 3.初始化数据库

   (1)切换至postgres账户:su postgres

   (2)修改系统编码为GBKvi/etc/sysconfig/i18n

     

   (3) 初始化数据库initdb -D /opt/PostgreSQL/9.2/data

   (4) 启动postgres服务: postmaster -i -D /opt/PostgreSQL/9.2/data & (后台挂起)

   pg_ctl start -l /opt/postgresql/log/pg_server.log (关闭ssh窗口则关闭服务)

   (5)停止postgresql服务: pg_ctl stop
   (6)修改数据库用户postgres密码:psql template1

   (7)查看端口被占用:netstat -lnpt | grep 5432    或者 ps -ef | grep postgresql

        结束进程:kill -9 pid

   (8)测试主机端口是否联通:window下用telnet,linux下用nc -v host port

1.1.2 数据库创建及脚本导入

  如果该服务器对外开通了5432端口的访问权限,则可通过pgAdmin III客户端执行以下操作,否则只能通过SSH客户端执行命令来实现数据库创建及脚本导入。

  1. 创建数据库:createdb lsgfss

  2.数据脚本导入: psql -d lsgfss -U postgres -f /opt/PostgreSQL/9.2/data/lsgfss.sql

  3.启动前端访问工具:psql lsgfss

  补充:linuxpostgresql数据库中的一些命令:   

   template1=# \l 查看系统中现存的数据库  
   template1=# \q 退出客户端程序psql  
   template1=# \c 从一个数据库中转到另一个数据库中,如template1=# \c sales template1转到sales  
   template1=# \dt 查看表  
   template1=# \d 查看表结构  
   template1=# \di 查看索引  

  4.pgAdmin III客户端访问linux下该数据库的话,还需要为该客户端分配数据库访问权限, 修改pg_hba.conf 文件,该文件都是放在$PG_DATA目录下,也就是一般的...../data目录下

 添加如下一句话,然后重启。

 host   all      all      10.123.0.0   255.255.0.0    trust   

注释:  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   
  这时,你从那个网段上访问任何数据库时,就不要密码,   、

  如果出现这种:

   host all all 127.0.0.1/32 md5 
   其中32是子网掩码的网段;md5是密码验证方法


抱歉!评论已关闭.