yum 安装 Postgresql 9.4 on CentOS 6.5,指定数据目录
时间:2016-05-17 14:17 来源:linux.it.net.cn 作者:IT网
补充更新:指定数据目录,因为默认centos安装postgresql数据库安装在了系统盘,然而我的系统盘很小。
参考:
http://www.tuicool.com/articles/iArAba
http://crashmag.net/changing-the-default-postgresql-data-folder-pgdata
(1) yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm
(2) yum install postgresql94-server postgresql94-contrib
(3) 如果不想使用默认的数据目录,那么可以自己指定;
(3.1) 创建目录 /data/pg_data,(也许要修改权限:chown -R postgres:postgres /data/pg_data)
进入目录"/etc/sysconfig/pgsql",创建文件"postgresql-9.4"(文件名要和数据库的服务名一致)
写入内容:PGDATA=/data/pg_data
(4) 执行/etc/init.d/postgresql-9.4 initdb 或者
(5) 启动服务
service postgresql-9.4 start
chkconfig postgresql-9.4 on
-----------------------------------------------------------------------------------------------------------------------------
参考:
(1) http://www.postgresql.org/download/linux/redhat/
(2) http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html
(3) http://www.cnblogs.com/mchina/archive/2012/06/06/2539003.html
(4) http://jingyan.baidu.com/article/48a42057dfeeb2a92525047e.html
(5) PostgreSQL文档的 服务器管理 --> 用户认证 章节: 主要理解ident peer md5 trust方式的区别
-------------------------------------------------------------------------------------------------------------------------------
(1)需要使用 Root 权限安装
su - root
(2)安装
yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm
yum install postgresql94-server postgresql94-contrib
(3)初始化数据库
/etc/init.d/postgresql-9.4 initdb 或者 service postgresql-9.4 initdb
// 备注:(1) 这个命令需要稍微等几秒 (2) 默认安装的目录是 /var/lib/pgsql/9.4
(4)chkconfig postgresql-9.4 on
// 这个是干啥的? 官方文档写了要执行这个命令
(5)启动数据路服务
/etc/init.d/postgresql-9.4 start
// 启动前后,可以看看端口号使用情况 netstat -an | grep 543
(6) 初次安装后
默认生成一个名为postgres的数据库和一个名为postgres的数据库用户。这里需要注意的是,同时还生成了一个名为postgres的Linux系统用户。
(7)添加一个专门操作数据库的用户(不要使用postgres用户,权限太大?,这一步的作用是什么?)
[root@localhost ~]# adduser dbuser
(8)切换至postgres用户
[root@localhost ~]# su - postgres
-bash-4.1$
(9)使用psql命令登录PostgreSQL控制台
-bash-4.1$ psql
psql (9.4.1)
Type "help" for help.
postgres=#
备注:这时相当于系统用户postgres以同名数据库用户的身份,登录数据库,这是不用输入密码的。
如果一切正常,系统提示符会变为"postgres=#",表示这时已经进入了数据库控制台。
(9.1) 为postgres用户设置密码
postgres=# \password postgres
Enter new password:
Enter it again:
(9.2) 创建数据库用户dbuser(刚才创建的是Linux系统用户),并设置密码。(没有系统用户dbuser的话,无法创建数据库的同名用户?)
postgres=# CREATE USER dbuser WITH PASSWORD '123456';
CREATE ROLE
(9.3) 创建用户数据库 "testdb1",并指定所有者为dbuser
CREATE DATABASE testdb1 OWNER dbuser;
(9.4) 将"testdb1"数据库的所有权限都赋予dbuser,否则dbuser只能登录控制台,没有任何数据库操作权限。
GRANT ALL PRIVILEGES ON DATABASE testdb1 to dbuser;
(9.5) 使用\q命令退出控制台(也可以直接按ctrl+D)
(责任编辑:IT)
补充更新:指定数据目录,因为默认centos安装postgresql数据库安装在了系统盘,然而我的系统盘很小。 参考: http://www.tuicool.com/articles/iArAba http://crashmag.net/changing-the-default-postgresql-data-folder-pgdata (1) yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm (2) yum install postgresql94-server postgresql94-contrib (3) 如果不想使用默认的数据目录,那么可以自己指定; (3.1) 创建目录 /data/pg_data,(也许要修改权限:chown -R postgres:postgres /data/pg_data) 进入目录"/etc/sysconfig/pgsql",创建文件"postgresql-9.4"(文件名要和数据库的服务名一致) 写入内容:PGDATA=/data/pg_data (4) 执行/etc/init.d/postgresql-9.4 initdb 或者 (5) 启动服务 service postgresql-9.4 start chkconfig postgresql-9.4 on ----------------------------------------------------------------------------------------------------------------------------- 参考: (1) http://www.postgresql.org/download/linux/redhat/ (2) http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html (3) http://www.cnblogs.com/mchina/archive/2012/06/06/2539003.html (4) http://jingyan.baidu.com/article/48a42057dfeeb2a92525047e.html (5) PostgreSQL文档的 服务器管理 --> 用户认证 章节: 主要理解ident peer md5 trust方式的区别 ------------------------------------------------------------------------------------------------------------------------------- (1)需要使用 Root 权限安装 su - root (2)安装 yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm yum install postgresql94-server postgresql94-contrib (3)初始化数据库 /etc/init.d/postgresql-9.4 initdb 或者 service postgresql-9.4 initdb // 备注:(1) 这个命令需要稍微等几秒 (2) 默认安装的目录是 /var/lib/pgsql/9.4 (4)chkconfig postgresql-9.4 on // 这个是干啥的? 官方文档写了要执行这个命令 (5)启动数据路服务 /etc/init.d/postgresql-9.4 start // 启动前后,可以看看端口号使用情况 netstat -an | grep 543 (6) 初次安装后 默认生成一个名为postgres的数据库和一个名为postgres的数据库用户。这里需要注意的是,同时还生成了一个名为postgres的Linux系统用户。 (7)添加一个专门操作数据库的用户(不要使用postgres用户,权限太大?,这一步的作用是什么?) [root@localhost ~]# adduser dbuser (8)切换至postgres用户 [root@localhost ~]# su - postgres -bash-4.1$ (9)使用psql命令登录PostgreSQL控制台 -bash-4.1$ psql psql (9.4.1) Type "help" for help. postgres=# 备注:这时相当于系统用户postgres以同名数据库用户的身份,登录数据库,这是不用输入密码的。 如果一切正常,系统提示符会变为"postgres=#",表示这时已经进入了数据库控制台。 (9.1) 为postgres用户设置密码 postgres=# \password postgres Enter new password: Enter it again: (9.2) 创建数据库用户dbuser(刚才创建的是Linux系统用户),并设置密码。(没有系统用户dbuser的话,无法创建数据库的同名用户?) postgres=# CREATE USER dbuser WITH PASSWORD '123456'; CREATE ROLE (9.3) 创建用户数据库 "testdb1",并指定所有者为dbuser CREATE DATABASE testdb1 OWNER dbuser; (9.4) 将"testdb1"数据库的所有权限都赋予dbuser,否则dbuser只能登录控制台,没有任何数据库操作权限。 GRANT ALL PRIVILEGES ON DATABASE testdb1 to dbuser; (9.5) 使用\q命令退出控制台(也可以直接按ctrl+D) (责任编辑:IT) |