本文源码:GitHub·点这里 || GitEE·点这里

一、PostgreSQL简介

1、数据库简介

PostgreSQL是一个功能强大的开源数据库系统,具有可靠性、稳定性、数据一致性等特点,且可以运行在所有主流操作系统上,包括Linux、Unix、Windows等。PostgreSQL是完全的事务安全性数据库,完整地支持外键、联合、视图、触发器和存储过程,支持了大多数的SQL:2008标准的数据类型,包括整型、数值型、布尔型、字节型、字符型、日期型、时间间隔型和时间型,它也支持存储二进制的大对像,包括图片、声音和视频。对很多高级开发语言有原生的编程接口API,如C/C++、Java、等,也包含各种文档。

2、高度开源

PostgreSQL的源代码可以自由获取,它的授权是在非常自由的开源授权下,这种授权允许用户在各种开源或是闭源项目中使用、修改和发布PostgreSQL的源代码。用户对源代码的可以按用户意愿进行任何修改、改进。因此,PostgreSQL不仅是一个强大的企业级数据库系统,也是一个用户可以开发私用、网络和商业软件产品的数据库开发平台。

二、Centos7下安装

1、安装RPM

RPM软件包管理器,一种用于互联网下载包的打包及安装工具,它包含在部分Linux分发版中。

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2、安装客户端

yum install postgresql11

3、安装服务器端

yum install postgresql11-server

4、安装依赖包

yum install postgresql11-libs
yum install postgresql11-contrib
yum install postgresql11-devel

5、初始化和启动

/usr/pgsql-11/bin/postgresql-11-setup initdb
systemctl enable postgresql-11
systemctl start postgresql-11

6、重置密码

passwd postgres

7、登录服务

su - postgres
psql

8、安装Vim命令

yum -y install vim*

9、配置远程访问

# 修改01
vim /var/lib/pgsql/11/data/postgresql.conf
listen_addresses = 'localhost'
修改为
listen_addresses = '*' # 修改02
vim /var/lib/pgsql/11/data/pg_hba.conf
添加内容
host all all 0.0.0.0/0 trust ## 修改后需要重启

10、开放端口

firewall-cmd --query-port=5432/tcp

firewall-cmd --add-port=5432/tcp

firewall-cmd --add-port=5432/tcp --zone=public --permanent

11、重新启动

systemctl restart postgresql-11

三、创建数据库

1、创建用户

CREATE USER root01 WITH PASSWORD '123456';
CREATE ROLE;

2、创建数据库

CREATE DATABASE db_01 OWNER root01;
CREATE DATABASE;

3、权限授予

GRANT ALL PRIVILEGES ON DATABASE db_01 TO root01;
GRANT

4、退出命令

\q:退出SQL编辑
exit:退出脚本

四、基本操作

1、创建表结构

-- 用户表
CREATE TABLE pq_user (
ID INT NOT NULL,
user_name VARCHAR (32) NOT NULL,
user_age int4 NOT NULL,
create_time TIMESTAMP (6) DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "pg_user_pkey" PRIMARY KEY ("id")
); -- 订单表
CREATE TABLE pq_order (
id int not null,
user_id int not null,
order_no varchar (32) not null,
goods varchar (20) not null,
price money not null,
count_num int default 1,
create_time timestamp (6) default current_timestamp,
constraint "pq_order_pkey" primary key ("id")
);

2、写入数据

INSERT INTO pq_user ("id", "user_name", "user_age", "create_time")
VALUES ('1', 'user01', '18', '2020-04-09 19:44:57.16154');
INSERT INTO pq_order ("id", "user_id", "order_no", "goods", "price", "count_num", "create_time")
VALUES ('1', '1', 'NO20200329652362', '书籍', '$12.20', '3', '2020-04-09 20:01:09.660208');

3、常规查询

-- 基础查询
select * from pq_user t1 where t1.id='2' and t1.user_name='user01';
select * from pq_user t1 where t1.id !='2' order by create_time desc;
-- 连接查询
select * from pq_user t1 join pq_order t2 on t1.id=t2.user_id;
select * from pq_user t1 left join pq_order t2 on t1.id=t2.user_id;

4、更新和删除

-- 更新数据
UPDATE pq_user SET "create_time"='2020-04-09 19:49:57' WHERE ("id"='2');
-- 删除记录
DELETE FROM pq_user WHERE "id" = 2;

五、源代码地址

GitHub·地址
https://github.com/cicadasmile/linux-system-base
GitEE·地址
https://gitee.com/cicadasmile/linux-system-base

推荐阅读:环境安装

序号 文章标题
01 Centos7下安装Jdk8、Tomcat8、MySQL5.7环境
02 Centos7下搭建Redis单台和Redis集群服务
03 Centos7下搭建Rocketmq4.3中间件,配置监控台
04 Centos7下搭建ZooKeeper3.4中间件,常用命令总结
05 Centos7下搭建ElasticSearch中间件,常用接口演示
06 Centos7下搭建Nginx,FastDFS文件管理中间件
07 Centos7下搭建ClickHouse列式存储数据库

Linux系统:Centos7下搭建PostgreSQL关系型数据库的更多相关文章

  1. linux系统centOS7下搭建redis集群中ruby版本过低问题的解决方法

    问题描述: 在Centos7中,通过yum安装ruby的版本是2.0.0,但是如果有些应用需要高版本的ruby环境,比如2.2,2.3,2.4... 那就有点麻烦了,譬如:我准备使用redis官方给的 ...

  2. Linux系统centOS7在虚拟机下的安装及XShell软件的配置

    前面的话 本文将详细介绍Linux系统centOS7在虚拟机下的安装 准备工作 [系统下载] 在安装centOS7之前,首先在官网下载合适的版本 然后,选择一个链接下载即可 [虚拟机配置] 接下来,需 ...

  3. linux系统CentOS7

    linux系统CentOS7 到http://mirrors.sohu.com/mysql/下载想要的mysql版本 这里用到的是 mysql-5.6.33-linux-glibc2.5-x86_64 ...

  4. SQLite vs MySQL vs PostgreSQL:关系型数据库比较

    自1970年埃德加·科德提出关系模型之后,关系型数据库便开始出现,经过了40多年的演化,如今的关系型数据库种类繁多,功能强大,使用广泛.面对如此之多的关系型数据库,我们应该如何权衡找出适合自己应用场景 ...

  5. 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,

    第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误, 注意:版本,不然会报错 Docker >=1.11Compose >1.6.0 通过d ...

  6. Hyperledger超级账本在Centos7下搭建运行环境

    超级账本(hyperledger)是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,加入成员包括:荷兰银行(ABN AMRO).埃森哲(Accenture)等十几个不同利益体 ...

  7. 孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务

    孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第七天.成功在本地搭建 ...

  8. Centos7下安装postgresql(tar包形式安装)

    Centos7下安装postgresql(tar包形式安装) 1.官网下载地址: https://www.postgresql.org/ftp/source/ 2.将下载来tar包上传到linux服务 ...

  9. 在本机使用虚拟机安装一个linux系统,并搭建ftp服务器

    一.Linux基础使用:linux服务器环境搭建(FTP服务器), 在本机使用虚拟机安装一个linux系统,并搭建ftp服务器,要求能使用ftp服务将本机文件到保存linux虚拟机上 资料: VMwa ...

随机推荐

  1. 用Navicat Premium 连接mysql数据库时报错 -- 1130 Host xxxx is not allowed to connect to this MySQL server

    用Navicat Premium 连接mysql数据库时报错 报错原因:此时的MySQL默认不能远程连接. 解决方案:修改MySQL配置 具体步骤: 1.登陆服务器,进入数据库 mysql -uroo ...

  2. 爬虫使用中间代理人 fiddl...,charles,mitmproxy 设置

    一般的设置在网上就能找到(端口,ip啥的) 但是难点是关于安卓手机证书 在网上找到的几种方法,一种是在app源码中添加设置让手机app同意你下载安装的证书,另一种则是root_adb 安装证书 但是太 ...

  3. etcdctl的使用

    etcdctl是一个提供简洁命令的etcd客户端,使用etcdctl可以直接和etcd服务打交道,对etcd中的键值对进行增删改查. 安装etcdctl 下载etcdctl工具 下载地址:etcdct ...

  4. Lucene查询语法汇总

    目录 一.单词查询 二.通配符查询 三.模糊查询 四.近似查询 五.范围查询 六.优先级查询 七.逻辑操作 八.括号分组 九.转义特殊字符 Lucene是目前最为流行的开源全文搜索引擎工具包,提供了完 ...

  5. HTML5&CCS3(3)基本HTML结构

    3.1 开始编写网页 每个HTML文档都应该包含以下基本成分: DOCTYPE: html元素(包含lang属性.该属性不是必需的,但推荐加上): head元素: 说明字符编码的meta元素: tit ...

  6. 学会了这些redis知识点,面试官会觉得你很nb(转自十年技术大牛)

    是数据结构而非类型 很多文章都会说,redis支持5种常用的数据类型,这其实是存在很大的歧义.redis里存的都是二进制数据,其实就是字节数组(byte[]),这些字节数据是没有数据类型的,只有把它们 ...

  7. Kaggle 题目 nu-cs6220-assignment-1

    Kaggle题目 nu-cs6220-assignment-1 题目地址如下: https://www.kaggle.com/c/nu-cs6220-assignment-1/overview 这是个 ...

  8. 使用express+shell在服务器上搭建一套简单的前端部署系统

    前言 个人项目越来越多,部署需要频繁操作服务器,所以手动搭建一套简单的部署系统. 效果如图 其中包含 原生html+css+js项目,单页面react, vue, angular项目,实现了一键打包发 ...

  9. BigDecimal介绍及BigDecimal实现四舍五入

    BigDecimal介绍及BigDecimal实现四舍五入 BigDecimal是什么? 我们知道float最大精度是7-8位有效数字,而double的最大精度是16-17位有效数字,那么大于16位的 ...

  10. rabbitmq系列(四)死信队列

    一.什么是死信队列 当消息在一个队列中变成一个死信之后,它将被重新publish到另一个交换机上,这个交换机我们就叫做死信交换机,私信交换机将死信投递到一个队列上就是死信队列.具体原理如下图: 消息变 ...