postgresql安装教程

本文详述了在CentOS 6.5环境下安装PostgreSQL 9.4的过程,包括更新yum源、安装数据库、初始化、设置开机启动。此外,还介绍了如何创建新用户、新数据库,解决认证问题,以及通过pgadmin进行远程连接的配置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pg相对于其他分布式的数据库如greenplum,vertica的安装已经是很简单了。今天安装postgresql了,那就顺便把安装过程记录下吧~

(以下内容收集了网上各种资源,无意冒犯作者的版权,先贴原文链接:

http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html

http://blog.wuxu92.com/postgresql-introduction/)

安装环境说明:

安装版本:postgresql9.4

安装系统环境:centos6.5


安装:

根据官网的介绍(http://www.postgresql.org/download/linux/redhat/):

1.首先更新yum源:

yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-2.noarch.rpm

注意:不同的系统不同的pg版本选用不同的yum源,你根据官网里提供的的yum源自行改正上行的链接地址

yum源链接:http://yum.postgresql.org/repopackages.php

2.安装postgresql

yum install postgresql94-server postgresql94-contrib

3.简单设置一下,先初始化数据库,再开启服务,设置开机启动

service postgresql-9.4 initdb
/etc/init.d/postgresql-9.4 start
chkconfig postgresql-9.4 on

到此,postgresql已经安装完成了。


配置:

一、添加新用户和新数据库
初次安装后,默认生成一个名为postgres的数据库和一个名为postgres的数据库用户。这里需要注意的是,同时还生成了一个名为postgres的Linux系统用户。
下面,我们使用postgres用户,来生成其他用户和新数据库。好几种方法可以达到这个目的,我这里就介绍一种。
第一种方法,使用PostgreSQL控制台。
首先,新建一个Linux新用户,可以取你想要的名字,这里为dbuser。

</pre><pre name="code" class="plain">adduser dbuser
passwd dbuser
</pre>然后,切换到postgres用户。<pre code_snippet_id="1638127" snippet_file_name="blog_20160407_5_7109077" name="code" class="plain">su - postgres
下一步,使用psql命令登录PostgreSQL控制台。
psql

这时相当于系统用户postgres以同名数据库用户的身份,登录数据库,这是不用输入密码的。如果一切正常,系统提示符会变为"postgres=#",表示这时已经进入了数据库控制台。以下的命令都在控制台内完成。
第一件事是使用\password命令,为postgres用户设置一个密码。(注意这里设置的是数据库pg里postgres用户的密码,如果你需要设置linux用户postgres的密码那就用 passwd postgres,这两个密码还是不同的哦~)

\password postgres

第二件事是创建数据库用户dbuser(刚才创建的是Linux系统用户),并设置密码。

CREATE USER dbuser WITH PASSWORD 'password';

第三件事是创建用户数据库,这里为exampledb,并指定所有者为dbuser。

CREATE DATABASE exampledb OWNER dbuser;

第四件事是将exampledb数据库的所有权限都赋予dbuser,否则dbuser只能登录控制台,没有任何数据库操作权限。

GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;

最后,使用\q命令退出控制台(也可以直接按ctrl+D)。

\q

到此,用户已经创建了而且有了他自己的数据库,那我们去登录试试~

psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432

如果输入密码以后发现报错!!

psql: 致命错误:  对用户"dbuser"的对等认证失败

这时候,我们就需要修改下pg的配置文件了:

这牵涉到pg的认证方式了。我们知道pg的认证方式是保存在配置文件 pg_hba.conf 中,这个文件在初始化数据(initdb) 所制定的目录,默认地址是 /var/lib/pgsql/9.4/data/pg_hba.conf ,这是一个比较标准的linux风格的配置文件,一行代表一条规则。主要内容如下:

# TYPE  DATABASE        USER            ADDRESS                 METHOD


# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident
我们关心的是最后那个字段,METHOD,就是认证的方式,有很多种方式可以配置,常用的
trust 任何连接都允许,不需要密码
reject 拒绝符合条件(前面几个条件)的请求
MD5 接收一个MD5加密过的密码
password 接收一个密码来登陆,只在可信的网络使用这种方式
gss 使用gssapi认证,只在tcp/ip连接可用
sspi 只在windows可用的一种方式
krb5 不常用,只在TCP/IP可用
ident 使用操作系统用户名认证,验证它是否符合请求的的数据库用户名
ldap 使用LDAP服务器认证
cert 使用ssl客户端认证
pam 使用操作系统的pam模块服务
根据上面的报错,是配置文件使用了ident认证方式。所以我们修改

host    all             all             127.0.0.1/32            ident

host    all             all             127.0.0.1/32            password
之后重启服务:

/etc/init.d/postgresql-9.4 restart

psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432

再次登录,就成功了!


pgadmin连接postgresql:

1.安装pgadmin,这个你去官网自己下载,一路确认就安装好了

2.登录时候如果报错或者一直没反应,那么有以下几种情况:

1)你的linux虚拟机没关闭防火墙,尝试关掉防火墙看看:

</pre><pre name="code" class="plain">setenforce 0
/etc/init.d/iptables stop

2)如果报错说没有监听,那么你需要修改下pg的配置文件:

1.

vim /var/lib/pgsql/9.4/data/pg_hba.conf
将改文件里的
host    all             all             127.0.0.1/32            ident
改为
host    all             all             0.0.0.0/0            password
表示所有的ip都能连接改服务器。

2.

</pre><pre name="code" class="plain">vim /var/lib/pgsql/9.4/data/postgresql.conf
修改
listen_addresses = '*'     //监听所有ip的连接,默认是本机  
port = 5432             //这个不开也行,默认就是5432端口 

到此应该都能完全连接上了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值