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的核心开发团队维护着前三种。
(1)psql是一种用于执行查询的命令行工具
(2)pgAdmin是一种广泛使用的开源PostgreSQL图形界面管理工具
(3)phpPgAdmin基于Web页面的管理工具
4、PostgreSQL默认侦听端口 5432
5、PostgreSQL数据库对象
(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视图:列出了数据库中的所有表列
tables视图:列出数据库中的所有表(包括视图)
view视图:列出所有视图以及用于构建或重新构建该视图的关联SQL
(4)变量
(5)扩展包
(6)表
在Postgresql中,表首先属于某个schema,而schema又属于某个database,这样就构成了一种三级存储结构
Postgresql的表支持两种强大的功能,
第一种是表继承,即一张表可以有父表和子表
第二种是创建一张表的同时,系统会自动为此表创建一种对应的自定义数据类型
(7)外部表和外部数据封装器
通过外部表可以直接在本地数据库中访问来自外部数据源的数据
外部表映射关系的建立是通过配置外部数据封装器(Foreign Data Wrapper,FDW)实现的。FDW是PostgreSQL和外部数据源之间的一架魔法桥,可实现两边
数据的互联互通。
(8)表空间
表空间是用于存储数据的物理空间
(9)视图
(10)函数
(11)内置编程语言
(12)运算符
(13)数据类型
(14)数据类型转换器
(15)序列
(16)行或记录
(17)触发器
(18)规则