Centos 7.3 安装配置 PostgreSQL 9.x
一、安装 PostgresSQL
Centos 7 自带的 PostgresSQL 是 9.2 版的。因为,yum 已经做了国内源,速度飞快,所以直接就用 yum 安装了。依次执行以下命令即可,非常简单。
sudo yum -y install postgresql-server postgresql
sudo service postgresql initdb
sudo chkconfig postgresql on
sudo systemctl enable postgresql
sudo 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(), 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(); # 更新结构
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 用户,而是自己创建一个用户。
有两种操作方法:
- 进入 PostgresSQL 的控制台操作
- 使用 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/ ident
host all all ::/ ident
将 ident 改为 md5
host all all 127.0.0.1/ md5
host all all ::/ 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/ md5
最后,重启 PostgreSQL 使配置生效
sudo systemctl restart postgresql
现在就可以远程访问 PostgreSQL 数据库啦
【原文链接】http://www.ipaomi.com/2017/08/03/centos-7-3-安装配置-postgresql-9-x/
Centos 7.3 安装配置 PostgreSQL 9.x的更多相关文章
- CentOS 7.0安装配置Vsftp服务器
一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...
- CentOS 6.6安装配置LAMP服务器(Apache+PHP5+MySQL)
准备篇: CentOS 6.6系统安装配置图解教程 http://www.osyunwei.com/archives/8398.html 1.配置防火墙,开启80端口.3306端口 vi /etc/s ...
- CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL)
CentOS 6.5安装配置LNMP服务器(Nginx+PHP+MySQL) 一.准备篇: /etc/init.d/iptables stop #关闭防火墙 关闭SELINUX vi /etc/sel ...
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
这篇文章主要介绍了CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)的方法,需要的朋友可以参考下 文章写的不错,很详细:IDO转载自网络: 准备篇: 1.配置防火墙,开启 ...
- centOS下yum安装配置samba
centOS下yum安装配置samba 2010-03-29 15:46:00 标签:samba yum centOS 安装 休闲 注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目 ...
- CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...
- CentOS 7.x安装配置
简述 VMware可以创建多个虚拟机,每个虚拟机上都可以安装各种类型的操作系统.安装方法也有很多种.下面,主要以ISO镜像安装为例,介绍CentOS 7.x的安装过程及相关的参数设置. 简述 创建虚拟 ...
- CentOS 6.x安装配置
简述 VMware可以创建多个虚拟机,每个虚拟机上都可以安装各种类型的操作系统.安装方法也有很多种.下面,主要以ISO镜像安装为例,介绍CentOS 6.x的安装过程及相关的参数设置. 简述 创建虚拟 ...
- CentOS 6.3安装配置LAMP服务器(Apache+PHP5+MySQL)
准备篇: 1.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp -- ...
随机推荐
- 201521123059 《Java程序设计》第三周学习总结
1. 本周学习总结 2. 书面作业 1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; p ...
- 201521123081《Java程序设计》 第3周学习总结
1. 本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识组织起来.请使用纸笔或者下面的工具画出本周学习到的知识点.截图或者拍照上传. 参考资料:百 ...
- 学号:201521123116 《java程序设计》第三周学习总结
1. 本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识组织起来.请使用纸笔或者下面的工具画出本周学习到的知识点. 书面作业 Q1:代码阅读 pu ...
- 201521123049 《JAVA程序设计》 第1周学习总结
1. 本章学习总结 1.认识了新的一门计算机编程语言JAVA: 2.JAVA的编写与C语言类似,都是不能利用指针进行编写: 3.在实验课上初步认识JAVA并利用JAVA进行简单的编程,在实践上得到进一 ...
- 201521123022 《Java程序设计》 第十四周学习总结
1. 本章学习总结 2. 书面作业 Q1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自己的学号.姓名),在自己建立的数据库上执行常见SQL语句(截图) ...
- 201521123115《java程序设计》第十一周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1. ...
- java课程设计(个人)--五子棋
1.团队课程设计博客链接 http://www.cnblogs.com/mz201521044152/p/7065575.html 2.个人负责模块说明 棋盘类,绘制棋盘,绘制棋子,按钮设置,鼠标监听 ...
- openfire:基于开源 Openfire 聊天服务器 - 开发Openfire聊天记录插件
基于开源 Openfire 聊天服务器 - 开发Openfire聊天记录插件 上一篇文章介绍到怎么在自己的Java环境中搭建openfire插件开发的环境,同时介绍到怎样一步步简单的开发openfir ...
- [3] 微信公众号开发 - 结合UEditor实现图文消息群发功能
0.写在前面的话 如何实现微信平台后台管理中的,图文消息发送功能? 大概的过程如下: 通过类似表单的形式,将文章各部分内容提交到后台,封装成一个实体类,并持久化到数据库中 需要推送的时候,将不同的文章 ...
- java的Date类和TimeStamp类
Java API中有两个Date类,一个是java.util.Date,其构造方法如下: Date() Date(long date) 主要方法有: boolean after(Date when) ...