怎样安装PostgreSQL(CentOS6)

2016年9月13日 | 分类: 【技术】

【环境】

CentOS版本:

输入命令:

cat /etc/redhat-release 

输出:

CentOS release 6.10 (Final)

输入命令:

uname -a

输出:

Linux host.localdomain 4.17.11-1.el6.elrepo.i686 #1 SMP Sat Jul 28 09:09:24 EDT 2018 i686 i686 i386 GNU/Linux

【安装(yum)】

yum安装:

yum install postgresql-server

默认安装 postgresql-server.i686 0:8.4.20-8.el6_9

初始化数据库:

service postgresql initdb

输出:

Initializing database:                                     [  OK  ]

设置自动启动:

chkconfig postgresql on
service postgresql start

输出:

Starting postgresql service:                               [  OK  ]

设置认证模式:

参考:https://www.postgresql.org/message-id/[email protected]

编辑 /var/lib/pgsql/data/pg_hba.conf ,

# IPv4 local connections:
host    all             all             127.0.0.1/32            password

使用postgres用户在PostgreSQL控制台生成其他用户和新数据库:

新建一个Linux新用户 dbuser :

sudo adduser dbuser

修改默认用户postgres的密码:

切换到postgres用户。

输入命令:

sudo su - postgres

返回:

-bash-4.2$

使用psql命令登录PostgreSQL控制台,输入命令:

psql

返回:

psql (8.4.20)
Type "help" for help.

postgres=#

这时相当于系统用户postgres以同名数据库用户的身份,登录数据库,这是不用输入密码的。如果一切正常,系统提示符会变为”postgres=#”,表示这时已经进入了数据库控制台。以下的命令都在控制台内完成。

在数据库控制台输入命令:

\password postgres

输入密码,以及重复输入密码: 4zAGbSxBOXV9Rnxy

创建数据库用户dbuser(刚才创建的是Linux系统用户),并设置密码:

CREATE USER dbuser WITH PASSWORD 'M4MLnFKYsNhpwfmv';

返回:CREATE ROLE

创建用户数据库,这里为exampledb,并指定所有者为dbuser:

CREATE DATABASE exampledb OWNER dbuser;

返回:CREATE DATABASE

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

GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;

返回:GRANT

重新启动postgresql的服务:

Ctrl+D 2次,退出数据库控制台。

重启postgresql:

service postgresql restart

输出:

Stopping postgresql service:                               [  OK  ]
Starting postgresql service:                               [  OK  ]

用户 postgres 登录测试:

psql -h 127.0.0.1 -p 5432 -U postgres

返回:

Password for user postgres:

输入密码:4zAGbSxBOXV9Rnxy

返回:

psql (8.4.20)
Type "help" for help.

postgres=#

用户 dbuser 登录数据库 exampledb :

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

返回:

Password for user dbuser:

输入密码:M4MLnFKYsNhpwfmv’

返回:

psql (8.4.20)
Type "help" for help.

exampledb=>