数据库--PostgreSQl安装

PostgreSQL诞生在加州伯克利大学,从诞生到现在虽然已经有几十年的时间,应该也算是关系型数据库中的老成员了,但是PostgreSQL相比MySQL提供了很多扩展,开发人员可以根据项目需求为数据库开发一些插件,比如可以为数据库定义一些比较的范式,不仅仅是数字,日期和字符串的简单比较,大数据处理中一些距离:余弦距离、编辑距离、海明距离等都可以定义。另外,PostgreSQL还可以存储Json数据,并为之建立索引。

1.PostgreSQL安装(CenOS 6)

PostgreSQL官网提供了安装的步骤,可以少问度娘了。下面以postgresql 9.4,centos 6 64位系统为例:

yum install https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-2.noarch.rpm

yum install postgresql94*

yum install postgresql94-server

service postgresql-9.4 initdb

chkconfig postgresql-9.4 on

service postgresql-9.4 start

2.配置文件

按照上面的步骤,启动配置都是默认。/var/lib/pgsql/9.4/data目录下配置:

postgresql.conf:
把listen_addresses前面的注释去掉,改成listen_addresses = ‘*’
其他一些配置:

pg_hba.conf:

# 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
host    all             all             10.0.0.0/8              trust

# IPv6 local connections:
host    all             all             ::1/128                 ident

表示10打头的网址都可以远程连接数据库,TYPE定义了多种连接PostgreSQL的方式,分别是:“local”使用本地unix套接字,“host”使用TCP/IP连接(包括SSL和非SSL),“host”结合“IPv4地址”使用IPv4方式,结合“IPv6地址”则使用IPv6方式,“hostssl”只能使用SSL TCP/IP连接,“hostnossl”不能使用SSL TCP/IP连接。md5是常用的密码认证方式,如果你不使用ident,最好使用md5。密码是以md5形式传送给数据库,较安全,且不需建立同名的操作系统用户。password是以明文密码传送给数据库,建议不要在生产环境中使用。
trust是只要知道数据库用户名就不需要密码或ident就能登录,建议不要在生产环境中使用。reject是拒绝认证。

3.遇到的启动问题

PostgreSQL的启动日志在/var/lib/pgsql/9.4/pgstartup.log中,

Permissions should be u=rwx (0700).
data directory "/var/lib/pgsql/9.4/data" has group or world access

解决方法:

切换到 具有root权限的用户

cd /var/lib/pgsql/9.4
chown -R postgres:postgres data
chmod -R 0700 data

重启PostgreSQL 数据库,问题解决。

参考

PostgreSQL pg_hba.conf 文件简析
Postgresql 配置文件详解

猜你喜欢

转载自blog.csdn.net/sunghosts/article/details/78840752