今天,也是心血业潮,也是想着为了弄一个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…