Linux系统:Centos7下搭建PostgreSQL关系型数据库

时间:2022-08-26 18:53:27

本文源码: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

Linux系统:Centos7下搭建PostgreSQL关系型数据库

推荐阅读:环境安装

序号 文章标题
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. 在本机使用虚拟机安装一个linux系统,并搭建ftp服务器

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

  9. centos7下搭建ceph luminous(12.2.1)--无网或网络较差

    本博客的主要内容是在centos7下搭建luminous,配置dashboard,搭建客户端使用rbd,源码安装ceph,最后给出一些较为常用的命令.本博客针对初次接触ceph的人群. 搭建环境: 主 ...

随机推荐

  1. 用ProxyFactoryBean创建AOP代理

    Spring的Advisor是Pointcut和Advice的配置器,它是将Advice注入程序中Pointcut位置的代码.org.springframework.aop.support.Defau ...

  2. 【C#进阶系列】25 线程基础

    线程的概念 线程的职责是对CPU进行虚拟化. CPU为每个进程都提供了该进程专用的线程(功能相当于cpu),应用程序如果进入死循环,那么所处的进程会"冻结",但其他进程不会冻结,它 ...

  3. 【AngularJS】—— 9 自定义过滤器

    AngularJS另一个特点就是提供了过滤器,可以通过操作UNIX下管道的方式,操作数据结果. 通过使用管道,可以便于双向的数据绑定中视图的展现. 过滤器在处理过程中,将数据变成新的格式,而且可以使用 ...

  4. 《zw版·Halcon-delphi系列原创教程》简单的令人发指,只有10行代码的车牌识别脚本

    <zw版·Halcon-delphi系列原创教程>简单的令人发指,只有10行代码的车牌识别脚本 简单的令人发指,只有10行代码的车牌识别脚本      人脸识别.车牌识别是opencv当中 ...

  5. 自定义UICollectionViewController之后 如何设置UICollectionView的布局方式

    我们很多时候使用UICollectionView 可能都是直接创建 UICollectionView   通过初始化的时候  传入一个布局对象的方式来使用UICollectionView 比如我们之前 ...

  6. Ehcache&lpar;2&period;9&period;x&rpar; - API Developer Guide&comma; Cache Manager Event Listeners

    About CacheManager Event Listeners CacheManager event listeners allow implementers to register callb ...

  7. 可视化Windows服务定时任务

    思路:1.新建一个<Windows服务项目>,在里面建服务文件(可以多个),用来做要执行的任务. 2.新建一个<Windows窗体应用程序>,在这个程序里管理服务.如:安装.卸 ...

  8. Jquery操作单选按钮&lpar;Radio&rpar;的取值赋值实现代码

    1.获取选中值,三种方法都可以: $('input:radio:checked').val(); $("input[type='radio']:checked").val(); $ ...

  9. 【转】在Ubuntu上下载、编译和安装Android最新源代码

    原文网址:http://blog.csdn.net/luoshengyang/article/details/6559955 看完了前面说的几本书之后,对Linux Kernel和Android有一定 ...

  10. Jersey Politics

    poj2454:http://poj.org/problem?id=2454 题意:给你3*k个数,然后让你分成三堆,使得至少其中的两堆中的数字之和大于500*k.题解:这道题一开始我并不知道怎么做, ...