CentOS 6.6通过yum 安装PostgreSQL 9.4

最近再写python程序,需要用到postgresql,所以要安装postgresql数据库。

下面是安装步骤:

一、在/etc/yum.repos.d/CentOS-Base.repo 中的[base],[updates]中都增加:exclude=postgresql*

二、引入 PostgreSQL 9.4 Repository 官方的安装源

网址是: http://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-6.6-x86_64/pgdg-centos94-9.4-2.noarch.rpm

如果这个网址显示404 Not Found,可以进入到 http://download.postgresql.org/pub/repos/yum/9.4/redhat 目录之后,一步一步点进去,找到你要下载的那个rpm包的链接。

rpm -Uvh http://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-6.6-x86_64/pgdg-centos94-9.4-2.noarch.rpm


三、安装

yum install postgresql94 postgresql94-server postgresql94-contrib


四、初始化PostgreSQL数据库

service postgresql-9.4 initdb 


五、设置开机自启动

service postgresql-9.4 start
chkconfig postgresql-9.4 on


六、修改监听地址、端口

/var/lib/pgsql/9.4/data/postgresql.conf 中 把注释符号去掉,显示如下:

listen_address='*'
port=5432


七、增加操作系统用户

[root@wc1 ~]# adduser pgdbuser


八、创建postgresql数据库中的用户

在安装完postgresql数据库之后,会有一个默认的用户postgres,切换到postgres用户,然后执行psql命令,连接postgresql,然后再创建pgdbuser用户,最后退出

[root@wc1 ~]# su - postgres
-bash-4.1$ psql
psql (9.4.11)
Type "help" for help.
                                        ^
postgres=# create user pgdbuser  with superuser login password 'pgdbuser';
CREATE ROLE
postgres=# \q

九、修改/var/lib/pgsql/9.4/data/pg_hba.conf文件如下:

其中ident是linux系统下postgresql默认的local认证方式,通过操作系统用户映射的数据库用户,不需要输入密码,就可以登录。

而md5,不需要在操作系统层建立对应的同名的用户。

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5            
# IPv6 local connections:
host    all             all             ::1/128                 md5

修改之后要重启服务:

[root@wc1 Desktop]# service postgresql-9.4 restart
Stopping postgresql-9.4 service:                           [  OK  ]
Starting postgresql-9.4 service:                           [  OK  ]

十、登录postgresql

由于都是需要密码验证登录,所以当前os用户为root,需要指定登录的数据库、用户,然后按照提示输入密码后登陆。

接下来,创建数据库,显示当前数据库,切换到新建的库,创建表,插入数据,查询数据。

[root@wc1 Desktop]# psql -d postgres -U pgdbuser
Password for user pgdbuser: 
psql (9.4.11)
Type "help" for help.

postgres=# create database test;
ERROR:  database "test" already exists
postgres=# create database xxx;
CREATE DATABASE
postgres=# select current_database();
 current_database 
------------------
 postgres
(1 row)

postgres=# \c xxx
You are now connected to database "xxx" as user "pgdbuser".
xxx=# create table tb(id int);
CREATE TABLE
xxx=# insert into tb values(1);
INSERT 0 1
xxx=# select * from tb;
 id 
----
  1
(1 row)

xxx=# 


如果把修改/var/lib/pgsql/9.4/data/pg_hba.conf,把第一个md5改成ident,那么登录时候,需要切换到上面创建的操作系统用户:pgdbuser,然后就可以直接登录。

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     ident
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5            
# IPv6 local connections:
host    all             all             ::1/128                 md5
重启服务。
登录:
[root@wc1 Desktop]# psql -d postgres -U pgdbuser
psql: FATAL:  Peer authentication failed for user "pgdbuser"
[root@wc1 Desktop]# su - pgdbuser
[pgdbuser@wc1 ~]$ psql -d postgres
psql (9.4.11)
Type "help" for help.

postgres=# \c xxx
You are now connected to database "xxx" as user "pgdbuser".
xxx=# select * from tb;
 id 
----
  1
(1 row)

xxx=# 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值