在CentOS环境下安装postgresql

本文涉及CentOS 7下PostgreSQL9.6的安装,访问配置及简单使用。

1. CentOS环境

查看CentOS版本

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

2. 安装postgresql

https://www.postgresql.org/download/linux/redhat/ 生成yum安装命令,最新的包是11.11

2.1 安装rpm

[root@localhost ~]# yum install -y https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm](https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm

2.2 安装客户端

[root@localhost ~]# yum install postgresql11   # 11是版本信息
Package postgresql11-11.1-1PGDG.rhel7.x86_64 already installed and latest version
Nothing to do

2.3 安装服务器端

[root@localhost ~]# yum install -y postgresq11-server
Package postgresql11-server-11.1-1PGDG.rhel7.x86_64 already installed and latest version

2.4 查看安装的package信息

root@localhost ~]# yum info postgresql11
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.nju.edu.cn
 * extras: mirrors.163.com
 * updates: mirrors.cqu.edu.cn
Installed Packages
Name        : postgresql11
Arch        : x86_64
Version     : 11.1
Release     : 1PGDG.rhel7
Size        : 8.6 M
Repo        : installed
From repo   : pgdg11
Summary     : PostgreSQL client programs and libraries
URL         : https://www.postgresql.org/

3. 配置使用

启动服务并设置开机启动

systemctl 命令

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10.service


4. 常用操作

root@localhost ~]# su - postgres   # 切换为postgres 用户登陆
Last login: Tue Nov 20 04:49:59 EST 2018 on pts/0
-bash-4.2$ psql   #进入psql
psql (11.1)
Type "help" for help.

postgres=# \q   # 退出psql

4.1 数据库相关操作

# 连接数据库, 默认的用户和数据库是postgres
psql -U xxx -d dbname   # 用xxx用户登陆dbname这个数据库

# 切换数据库 == use dbname
\c dbname

# 列举数据库
postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privi
leges
-----------+----------+----------+-------------+-------------+---------------
--------
 ossdb     | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

# 创建数据库: 
create database [数据库名];

# 创建数据库指定用户:
create database [数据库名] owner [用户名];

# 删除数据库: 
drop database [数据库名];  


4.2 用户相关操作

权限 说明
superuser
user create role name; drop role name; createuser name dropuser name
role 用户和角色的区别是角色没有login权限
# 查看用户列表
postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 oss-su    | Superuser, Create role, Create DB                          | {}
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 vcloud    | Create DB                                                  | {}

# 查看当前是什么用户
postgres=# select * from current_user;
 current_user
--------------
 postgres
(1 row)

# 创建用户
postgres=# create user vcloud with password 'xxx';
postgres=# CREATE ROLE david;  #默认不带LOGIN属性
CREATE ROLE
postgres=# CREATE USER sandy;  #默认具有LOGIN属性
CREATE ROLE

# 给 david 添加LOGIN属性

# 修改用户密码
postgres=# alter user vcloud with password 'xxx';    #xxx是要设置的密码'
ALTER ROLE

# 用户登陆
-bash-4.2$ psql -U vcloud -d vcloud
Password for user vcloud:
psql (11.1)
Type "help" for help.

vcloud=>

# 删除用户
-bash-4.2$ dropuser --help
dropuser removes a PostgreSQL role.

Usage:
  dropuser [OPTION]... [ROLENAME]

5. 客户端pgadmin 安装

下载地址 (https://www.postgresql.org/ftp/pgadmin/pgadmin4/v3.5/macos/)


6. 问题列表

6.1用户登录 Peer authentication failed

psql: FATAL: Peer authentication failed for user "vloud"

需要更新你的pg_hba.conf从Peer authentication 到Password authentication
参考:(https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge)

[root@localhost data]# pwd
/var/lib/pgsql/11/data
[root@localhost data]# vi pg_hba.conf
# "local" is for Unix domain socket connections only
local   all             all                                     peer
# change to 
local   all             all                                     md5

# Need to restart service
[root@localhost data]# sudo service postgresql-11 restart
Redirecting to /bin/systemctl restart postgresql-11.service
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,029评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,238评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,576评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,214评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,324评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,392评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,416评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,196评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,631评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,919评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,090评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,767评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,410评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,090评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,328评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,952评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,979评论 2 351

推荐阅读更多精彩内容