一.PostgreSQL简介 PostgreSQL数据库一种关系型数据库。是当前世界上最先进的开源关系型数据库。
PostgreSQL使用的是一种客户端/服务器的模式。一次PostgreSQL会话由以下相关进程组成:
1.postgres:一个服务器进程(该进程管理着数据库文件,接收来自客户端的连接请求,并代表客户端对数据库进行操作)
2.需要执行数据库操作的客户端应用(可能是一个字符界面的工具,或是一个图形化的应用,或是通过访问数据库来显示网页的web服务器等)
PostgreSQL可以处理来自客户端的多个并发请求,这是因为它会为每个请求都fork一个新进程,而这时,客户端和新的服务器进程就不再通过原本的postgres进行通讯。
二.PostgreSQL基础 1.pgAdmin4可视化工具 pgAdmin4是专用于操作PostreSQL数据库的可视化工具,类似于操作MySQL的Navicat。pgAdmin4下载地址:https://www.pgadmin.org/
具体的安装步骤在此省略,因为网上有很多介绍安装步骤的博客,自行百度即可~
2.数据类型 数值类型 名字 存储长度 描述 范围smallint 2字节 小范围整数 -32768 到 +32767
integer 4字节 常用整数 -2147483648 到 +2147483647
bigint 8字节 大范围整数 9223372036854775808 到 +9223372036854775807
decimal 可变长 用户指定精度,精确 小数点前 131072 位;小数点后 16383 位
numeric 可变长 用户指定精度,精确 小数点前 131072 位;小数点后 16383 位
real 4字节 可变精度,不精确 6 位十进制数字精度
double precision 8字节 可变精度,不精确 15 位十进制数字精度
smallserial 2字节 自增的小范围整数 1 到 32767
serial 4字节 自增整数 1 到 2147483647
bigserial 8字节 自增的大范围整数 1 到 9223372036854775807
货币类型 名字 存储长度 描述 范围
money 8字节 货币金额 -92233720368547758.08 到 +92233720368547758.07
虽然numeric、int、bigint都可以转换为money,但是转换过程中会损失一部分精度,会对结果造成误差,因此并不推荐这种做法
字符类型 名字 存储长度 描述 范围character varying(n),varchar(n) 变长,有长度限制
character(n),char(n) 定长,不补足空白
text 变长,无长度限制
日期类型 名字 存储长度 描述 最低值 最高值 分辨率
timestamp [(p)] [without time zone] 8字节 日期和时间(无时区) 4713 BC 294276 AD 1 毫秒 / 14 位
timestamp [(p)] with time zone 8字节 日期和时间,有无时区 4713 BC 294276 AD 1 毫秒 / 14 位
date 4字节 只用于日期 4713 BC 5874897 AD 1 天
time[(p)] [without time zone] 8字节 只用于一天内时间 00:00:00 24:00:00 1 毫秒 / 14 位
time[(p)] without time zone 12字节 只用于一天内时间,有时区 00:00:00+1459 24:00:00-1459 1 毫秒 / 14 位
interval [fields] [(p)] 12字节 时间间隔 -178000000 年 178000000 年 1 毫秒 / 14 位
布尔类型 名字 存储长度 描述 范围
boolean 1字节 true或false
boolean类型除了true和false之外,还有第三种值:unknown,在数据库中用NULL表示