14天前2019-08-09 11:27:52 |    抢沙发  95 
最近一些项目需要用到PostgreSQL之前没有接触过,折腾了大概2个小时终于折腾出来了,这里做下比较提供给需要的人。本文涉及到PostgreSQL的安装,PostgreSQL存储目录的修改,PostgreSQL的密码设置和创建用户,以及一些常规操作的介绍。

PostgreSQL

安装篇:

centos6

yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-6-x86_64/pgdg-centos10-10-2.noarch.rpm
centos7

yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm
本文以centos6为例,安装过程大同小异。

查看可安装版本:

yum list postgresql*
我们的目标是10所有安装 postgresql10-server.x86_64

yum install -y postgresql10-server.x86_64
安装完成以后需要先对数据库进行初始化后才能启动。

service postgresql-10 initdb
上面我加了-D参数指定数据库存储路径,但是提示没有这参数,没办法只能先默认初始化,然后再修改存储目录了。


添加开机启动并启动

chkconfig --level 235 postgresql-10 on
service postgresql-10 start
到这里就已经安装完毕了。


修改数据库存储目录篇:

首先查找一下initdb的路径

find / -name initdb
默认应该在/usr/pgsql-10/bin下


切换到postgres用户,因为initdb是不允许在root用户下进行的。

 su - postgres
进入到initdb目录:

cd /usr/pgsql-10/bin
然后对数据库进行初始化

./initdb -d 新存储路径
等待初始化完成以后,还不能启动先退出普通用户回到root用户

exit
然后修改启动服务文件:

vim /etc/init.d/postgresql-10
把里面的

PGDATA=/var/lib/pgsql/10/data
PGLOG=/var/lib/pgsql/10/pgstartup.log
替换为自己的新存储路径:

PGDATA=xxxxx/data
PGLOG=xxxxx/pgstartup.log
到此存储目录就已经修改完成了

然后重启一下服务就OK了


命令篇:

首先讲一下怎么重置postgres的密码和新建用户。


重置postgres密码。


进入postgres用户

su - postgres
进入控制台:

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

重置postgres管理账户的密码:

\password postgres
然后按照提示输入两次密码就好了。


创建普通用户和数据库:

先创建普通系统用户并设置密码[这里是在linux的shell状态下执行的,要先退出postgres用户]:

adduser myuser
passwd myuser
按照提示输入两次密码就OK了。

然后切换到postgres用户:

su - postgres
进入控制台

psql
创建用户:

CREATE USER myuser WITH PASSWORD 'xxxxxxx';
创建数据库;

CREATE DATABASE mywafdb OWNER myuser_db;
数据库对用户授权完全控制:

GRANT ALL PRIVILEGES ON DATABASE myuser_db to myuser;
到此数据库和用户就创建好了。

切换到普通用户和postgres的过程是一样的就不在复述了。


一些操作指令。


列出当前数据库的所有数据库:

\dt
列出所有数据库的名字:

\l
切换数据库:

\c 数据库名
列出所有用户:

SELECT * FROM PG_ROLES

暂时就先到这里吧,至于数据库的增删改查我还没有研究呢。


发表评论

暂无评论

登录

忘记密码 ?

切换登录

注册

扫一扫二维码分享