Postgresql学习(一)
1、Postgresql的特别之处以及选用理由
(1)Postgresql支持用多种编程语言编写存程过程和函数
(2)Postgresql支持非常强大的用户自定义数据类型功能
2、Postgresql资源
(1)Plantet Postgresql (http://planet.postgresql.org)是Postgresql技术博客文章的汇聚站点,其中包含从Postgresql核心开发人员到普通用户编写
(2)Postgresql Wiki(https://wiki.postgresql.org)提供对Postgresql各个方面的使用技巧说明,以及从其他数据库移值到Postgresql的方法
(3)Postgresql Books(https://www.postgresql.org/docs/books/)提供有关Postgresql的书箱列表信息;
3、Postgresql管理工具
postgresql常用管理工具有四种:psql、pgAdmin,PHPPgAdmin和Adminer。Postgresql的核心开发团队维护着前三种。
(2)pgAdmin是一种广泛使用的开源Postgresql图形界面管理工具
4、Postgresql默认侦听端口 5432
(1)服务
在大多数操作系统上,Postgresql是作为一种服务(或者叫守护进程)安装的。多个Postgresql服务可以运行于同一台物理服务器上,但它们的侦听端口不能
重复,也不能共享一个数据存储目录。
(2)database
每个Postgresql服务可以包含多个独立的database
(3)schema
database的下一层逻辑结构就是schema
(4)catalog
catalog是系统级的schema,用于存储系统函数和系统元数据。每个database创建好以后默认都会含有两个catalog:
一个名为pg_catalog,用于存储Postgresql系统自带的函数,表,系统视图,数据类型转换器以及数据类型定义等元数据
另一个是information_schema,用于存储ANSI标准中所要求提供的元数据查询视图,这些视图遵从ANSI sql标准的要求,以提定的格式向外界提供Postgresql
元数据信息
Postgresql information_schema中最常用的视图一般有以下几个:
columns视图:列出了数据库中的所有表列
view视图:列出所有视图以及用于构建或重新构建该视图的关联sql
(4)变量
(5)扩展包
(6)表
在Postgresql中,表首先属于某个schema,而schema又属于某个database,这样就构成了一种三级存储结构
第一种是表继承,即一张表可以有父表和子表
第二种是创建一张表的同时,系统会自动为此表创建一种对应的自定义数据类型
(7)外部表和外部数据封装器
通过外部表可以直接在本地数据库中访问来自外部数据源的数据
外部表映射关系的建立是通过配置外部数据封装器(Foreign Data Wrapper,FDW)实现的。FDW是Postgresql和外部数据源之间的一架魔法桥,可实现两边
数据的互联互通。
(8)表空间
表空间是用于存储数据的物理空间
(9)视图
(10)函数
(11)内置编程语言
(12)运算符
(13)数据类型
(14)数据类型转换器
(15)序列
(16)行或记录
(17)触发器
(18)规则