postgresql是什么(linux POSTGRESQL 卸载)

PostgreSQL是一个关系数据库管理系统,即它是以集合理论为基础的系统,在实现上,它定义为一些二维表,表中包含数据行和具有严格数据类型的列。

扩展

自然语言解析、多维索引、地理查询、自定义数据类型等。

具有高级的事务处理能力,支持十几种不同语言的存储过程,能在各种平台上运行。PostgreSQL内置支持Unicode、序列、表继承、子查询,而且是市场上遵循ANSI SQL标准最好的关系数据库之一。它快速可靠,可以处理TB量级的数据。

创建一个名为book的数据库

createdb book

确保扩展包已经正确安装:

psql book -c "SELECT '1'::cube;"

服务进程默认监听5432端口,可以用psql这个命令行工具连接。

关系数据库的名称源于它们包含关系(即表),它们是元组(即行)的集合,元组又将属性映射到原子值

关系数据库的关系是因为它的数学基础,不是因为表通过外键彼此“关联”。

RDBMS 基于集合理论的为关系代数,它包括选择(WHERE…)、投影(SELECT…)、笛卡尔积(JOIN…)等操作。

关系查询的描述性远胜于此,它源于一个数学分支,名为元组关系演算,可以转换为关系代数。

PostgreSQL

PostgreSQL

psql book

输入‘h’,可以列出有关SQL命令的信息,? 列出以反斜杠开始的psql特有命令的帮助信息。

CREATE TABLE countries (

country_code char(2) PRIMARY KEY,

country_name text UNIQUE

);

INSERT INTO countries (country_code, country_name)

VALUES ('us','United States'), ('mx','Mexico'), ('au','Australia'),

('gb','United Kingdom'), ('de','Germany'), ('ll','Loompaland');

约束是PostgreSQL这样的关系数据库用来确保数据完整的方法。

CREATE TABLE cities (

name text NOT NULL,

postal_code varchar(9) CHECK (postal_code <> ''),

country_code char(2) REFERENCES countries,

PRIMARY KEY (country_code, postal_code)

);

cities表中的name列的约束是不允许其值为NULL的。

postal_code列的约束,是其值不能是空字符串(<>表示不等于)。

保持参照完整性

MATCH FULL是一个约束,确保两个值都存在,或两者均为NULL。

可以选择指定PostgreSQL在插入后返回一些列,方法是让请求以RETURNING语句结尾。

INSERT INTO venues (name, postal_code, country_code)

VALUES ('Voodoo Donuts', '97205', 'us') RETURNING venue_id;

id

– – – –

2

外联接是合并两张表的一种方式,不论另一张表中是否存在匹配的列值,第一张表的结果总是必须返回。

列出数据模式中的所有索引:

book=# di

PostgreSQL

本文链接:https://www.zhantian9.com/232774.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2000000@qq.com 举报,一经查实,本站将立刻删除。

发表回复

您的电子邮箱地址不会被公开。