CentOS 6.6 yum 安装PostgreSQL 9.4以及常用设置

今天,也是心血业潮,也是想着为了弄一个POSTGRESQL的测试运行环境,就想着在VMWARE的CENTOS下安装一个POSTGRESQL数据库,方便日后技术研究。下面为安装过程。

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

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

二、安装PostgreSQL 9.4

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=#

十、遇到的问题解决:没有用于主机“192.168.179.38”,用户“postgres”,数据库“postgres”

这个错误的发生是因为在修改pg_hba.conf文件时,没有将远程机的IP地址添加到里面。帖子里加了行是:

host  all  all  10.0.0.0/8  md5

将这行的IP地址换成  0.0.0.0/0  就可以实现任何别的IP地址的远程机访问服务器的功能.然后在WINDOWS 用pgadmin软件也可以正常登陆啦。

以下文章点击率最高

Loading…

发表评论