Centos 7.3 安装配置 PostgreSQL 9.x

来源:互联网 发布:mac文明6补丁包 编辑:程序博客网 时间:2024/05/20 16:42

一、安装 PostgresSQL

Centos 7 自带的 PostgresSQL 是 9.2 版的。因为,yum 已经做了国内源,速度飞快,所以直接就用 yum 安装了。依次执行以下命令即可,非常简单。

sudo yum -y install postgresql-server postgresqlsudo service postgresql initdbsudo chkconfig postgresql onsudo systemctl enable postgresqlsudo systemctl start postgresql

如果需要安装最新的版本,那就按官网上的说明来吧,但那个下载速度实在是……

https://www.postgresql.org/download/linux/redhat/

二、控制台 & 基本命令 & 数据库操作

PostgresSQL 默认已经创建了名为 postgres 的超级用户。

执行以下命令,登录控制台

sudo -u postgres psql postgres

可以试试以下一些常用的控制台命令

(这一部分的内容,基本是照搬阮兄的博文,我把操作逻辑贯通了一些,另做了少量补充,方便实验,原文在此)

# 查看 SQL 命令的解释,比如 \h select\h # 查看 PostgresSQL 命令列表 \? # 列出所有数据库\l # 连接(使用)某个数据库 \c [database_name] # 列出当前数据库的所有表格\d # 列出某一张表格的结构\d [table_name] # 列出所有用户\du # 打开文本编辑器\e # 列出当前数据库和连接的信息\conninfo # 退出控制台\q
创建名为 testdb 的数据库(注意:不要忘了命令末尾的分号!)

CREATE DATABASE testdb;

再用执行 \l,确认数据库已经创建成功了

连接到(使用)testdb 数据库

\c testdb
查看连接信息,确认已经连接到 testdb 上了

\conninfo
接下来就是数据库的基本操作了,其实就是各种 SQL 语句,例如:

# 创建新表(执行后,用 \d 可以看到当前数据库的表格列表中,出现了 user_tb)CREATE TABLE user_tb(name VARCHAR(20), signup_date DATE); # 插入数据 INSERT INTO user_tb(name, signup_date) VALUES('张三', '2017-08-03'); # 选择记录 SELECT * FROM user_tb; # 更新数据 UPDATE user_tb set name = '李四' WHERE name = '张三'; # 删除记录 DELETE FROM user_tb WHERE name = '李四'; # 添加栏位(使用 \d user_tb 查看 SQL 执行前后,表结构的变化)ALTER TABLE user_tb ADD email VARCHAR(40); # 更新结构 ALTER TABLE user_tb ALTER COLUMN signup_date SET NOT NULL; # 更名栏位 ALTER TABLE user_tb RENAME COLUMN signup_date TO signup; # 删除栏位 ALTER TABLE user_tb DROP COLUMN email; # 表格更名 ALTER TABLE user_tb RENAME TO user_dt_new; # 删除表格 DROP TABLE IF EXISTS user_dt_new;

三、创建用户 & 启用密码登录 & shell 命令

真正我们在产品中不会直接使用默认的 postgres 用户,而是自己创建一个用户。

有两种操作方法:

  1. 进入 PostgresSQL 的控制台操作
  2. 使用 PostgresSQL 提供的 shell 命令

第二部分,使用的是控制台操作,这一部分,我们要试试 shell 命令

创建名为 dbuser 的用户并设置密码

sudo -u postgres createuser dbuser -P
创建名为 mydb 的数据库,并设置其所有者为我们新创建的用户 dbuser
sudo -u postgres createdb -O dbuser mydb
这时候,如果我们尝试用新创建的用户 dubser 登录数据库 mydb

psql -U dbuser -d mydb -h localhost
会遇到下面的错误

psql: FATAL: Ident authentication failed for user "dbuser"

这是因为 PostgresSQL 默认没有启用密码登录,所以我们要先修改配置启用之

打开配置文件

sudo vim /var/lib/pgsql/data/pg_hba.conf
找到下面这两行

host    all    all    127.0.0.1/32    identhost    all    all    ::1/128         ident
将 ident 改为 md5

host    all    all    127.0.0.1/32    md5host    all    all    ::1/128         md5
保存配置文件后,PostgresSQL

sudo systemctl restart postgresql
接下来,我们就可以用新创建的用户 dbuser 愉快地登录数据库啦

psql -U dbuser -d mydb -h localhost
注意 -h localhost 不能省略,否则 PostgresSQL 还会走 ident 的验证,会出现下面的错误

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

四、允许远程访问(连接)

PostgresSQL 默认是不允许远程访问的,如果我们想要在别的机器上访问数据库,还需要做一些设置。

打开 postgresql.conf 文件

sudo vim /var/lib/pgsql/data/postgresql.conf
加入下面一行配置,表示允许来自任意 IP 的连接请求

listen_addresses = '*'
打开 pg_hba.conf 文件

sudo vim /var/lib/pgsql/data/pg_hba.conf
加入下面一行配置,表示对任意 IP 访问进行密码验证

host    all    all    0.0.0.0/0    md5
最后,重启 PostgreSQL 使配置生效
sudo systemctl restart postgresql
现在就可以远程访问 PostgreSQL 数据库啦
【原文链接】 http://www.ipaomi.com/2017/08/03/centos-7-3-安装配置-postgresql-9-x/






















原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 买到假货商家不承认怎么办 买到假货翻新货工商局怎么办 三星note8笔丢了怎么办 夜跑结束后该怎么办 lol客户端正在运行中怎么办 瑞和宝终端锁定怎么办 骊爽摩托车动力弱怎么办? 换了手机跟点微信怎么办 手机送点插头换了怎么办 校园网总是显示有代理软件怎么办 电脑连接无线网络需要登录怎么办 智校园密码忘了怎么办 ivvi手机开不开机怎么办 跑鞋子大了一码怎么办 洗浴搓澡出汗多该怎么办 联华超市卡丢了怎么办 飞利浦电视的应用打不开怎么办 贵阳市下岗职工办理门面补贴怎么办 陌陌上被骗了色怎么办 七位数的座机要怎么办 开通米粉卡店铺预留电话号码怎么办 办信用卡没有单位电话怎么办 qq账号永久封停怎么办 qq号给冻结了怎么办 微信被官方封2天怎么办 天虹的卡丢了怎么办 顺丰快递到不了的地区怎么办 信用卡兑换东西超过积分怎么办 新买的冰箱坏了怎么办 买新洗衣机出现克坏怎么办 京东当日达没到达怎么办 兴隆卡不能用了怎么办 龙津时代烂尾了怎么办 三星s8电耗尽无法开机怎么办 杜鹃买回来蔫了怎么办 电视柜比背景墙小了怎么办 美图m8手机发热怎么办 美图t8手机很卡怎么办 美图m6手机发热怎么办 金立m6打电话声音小怎么办 美图m6突然黑屏怎么办