补充更新:指定数据目录,由于默认centos安装postgresql数据库安装在了系统盘,然而个人系统盘很小。html
参考:linux
http://www.tuicool.com/articles/iArAbasql
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.rpmcentos
(2) yum install postgresql94-server postgresql94-contribbash
(3) 若是不想使用默认的数据目录,那么能够本身指定;服务器
(3.1) 建立目录 /data/pg_data,(也许要修改权限:chown -R postgres:postgres /data/pg_data)ide
进入目录"/etc/sysconfig/pgsql",建立文件"postgresql-9.4"(文件名要和数据库的服务名一致)post
写入内容:PGDATA=/data/pg_dataui
(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)
-------------------------------------------------------------------------------------------------------------------------------
启动关闭等命令:
/etc/init.d/postgresql-9.4 {start|stop|status|restart|upgrade|condrestart|try-restart|reload|force-reload|initdb|promote}
postgresql数据库路径迁移
http://my.oschina.net/jrrx/blog/392484