首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PostgreSQL 教程

左连接 从一个表中选择行,这些行在其他表中可能有也可能没有对应行。 自连接 通过将表自身进行比较来将表与其自身连接。 完全连接 使用完全连接查找一个表中在另一个表中没有匹配行行。... 展示如何在创建新表时定义约束或为现有表添加约束。 检查约束 添加逻辑以基于布尔表达式检查值。 唯一约束 确保一或一组值在整个表中是唯一。...PostgreSQL 实用程序 主题 描述 psql 命令 向您展示最常见 psql 命令,帮助您更快、更有效地 psql 交互。 第 17 节....PostgreSQL Java 教程 此 PostgreSQL JDBC 部分向您展示,如何使用 Java JDBC 驱动程序 PostgreSQL 数据库进行交互。...PostgreSQL Python 教程 此 PostgreSQL Python 部分向您展示,如何使用 Python 编程语言 PostgreSQL 数据库进行交互

44210

数据库 PostgreSQL 常用命令

**:**用于关联两个表。 复合:复合(组合)将多个列作为一个索引,一般用于复合索引。 **索引:**使用索引可快速访问数据库表中特定信息。...索引是对数据库表中一进行排序一种结构。类似于书籍目录。 参照完整性: 参照完整性要求关系中不允许引用不存在实体。...版本并发控制:PostgreSQL使用版本并发控制(MVCC,Multiversion concurrency control)系统进行并发控制,该系统向每个用户提供了一个数据库"快照",用户在事务内所作每个修改...下载安装 进入下载链接:https://www.postgresql.org/download/ 其中不同系统下载不同安装包安装即可 常用命令 命令 含义 psql --help 帮助信息 psql...在表中插入数据 update [表名] set [目标字段名]=[目标值] where [该行特征] 修改表中某行某数据 delete from [表名] where [该行特征]; delete

2.1K40
您找到你想要的搜索结果了吗?
是的
没有找到

数据库 PostgreSQL 常用命令

**:**用于关联两个表。 复合:复合(组合)将多个列作为一个索引,一般用于复合索引。 **索引:**使用索引可快速访问数据库表中特定信息。...索引是对数据库表中一进行排序一种结构。类似于书籍目录。 参照完整性: 参照完整性要求关系中不允许引用不存在实体。...版本并发控制:PostgreSQL使用版本并发控制(MVCC,Multiversion concurrency control)系统进行并发控制,该系统向每个用户提供了一个数据库"快照",用户在事务内所作每个修改...下载安装 进入下载链接:https://www.postgresql.org/download/ 其中不同系统下载不同安装包安装即可 常用命令 命令 含义 psql --help 帮助信息 psql...在表中插入数据 update [表名] set [目标字段名]=[目标值] where [该行特征] 修改表中某行某数据 delete from [表名] where [该行特征]; delete

2.3K30

分布式 PostgreSQL 集群(Citus),官方快速入门教程

为此,您可以运行 create_distributed_table 并指定要分片表和要分片。在这种情况下,我们将对 company_id 上所有表进行分片。...Citus 将表放在一起,并允许跨集群使用主键、和复杂连接等功能。...Citus 支持标准 INSERT、UPDATE 和 DELETE 命令,用于在分布式表中插入和修改行,这是面向用户应用程序典型交互方式。...psql -p 9700 如果您使用是 Docker,则可以通过使用 docker exec 命令运行 psql 进行连接: docker exec -it citus psql -U postgres...为此,您可以运行 create_distributed_table 并指定要分片表和要分片。在这种情况下,我们将对 user_id 上所有表进行分片。

3.7K20

PostgreSQL 基础实践

(30), id_number VARCHAR(18) UNIQUE ); 参照完整性是指数据库不允许引用不存在实体,数据库表与其他表之间往往存在一些关联,可以通过约束来保障其完整性。...命令行交互 PostgreSQL 提供了强大命令行交互功能,我们可以使用 \ + 关键词来进行操作。我们可以通过查阅文档或 \? help 命令来查看命令详情帮助信息。...CREATE TABLE person ( id UUID NOT NULL PRIMARY KEY ); FOREIGN KEY 是一种特殊主键,它是另一个表主键,用以下命令创建修改...: --- 添加 CREATE TABLE person ( id BIGSERIAL NOT NULL PRIMARY KEY, car_id BIGINT REFERENCES...car (id), UNIQUE(car_id) ); --- 修改 CREATE TABLE car ( id BIGSERIAL NOT NULL PRIMARY KEY )

1.2K20

PostgreSQLPostGIS基础入门

PostgreSQL特点如下: PostgreSQL支持SQL许多功能,例如复杂SQL查询、SQL子选择、、触发器、视图、事务、多进程并发控制、流式复制、热备等。...psql模式连接 postgres=# \q # 退出psql模式 bash-4.2$ psql -d testdb 执行效果如下图所示: ?...字段所有数据: SELECT * FROM location_city; 3.1.12 更新数据 使用UPDATE … SET …命令来更新location_city表数据: UPDATE location_city...3.2.2 创建空间数据表 先建立一个常规表存储 CREATE TABLE cities(id smallint,name varchar(50)); 添加一个空间,用于存储城市位置。...习惯上这个叫做 “the_geom”。它记录了数据类型(点、线、面)、有几维(这里是二维)以及空间坐标系统。

5.4K31

如何在Debian 8上安装和使用PostgreSQL 9.4

PostgreSQL遵循大部分SQL标准,具有ACID事务,支持和视图,并且仍在积极开发中。...安装PostgreSQL 在安装PostgreSQL之前,请确保通过更新apt包列表来获取Debian存储库中最新信息: sudo apt-get update 您应该看到正在更新包列表以及以下消息...创造新角色 默认情况下,Postgres使用称为“角色”概念来帮助进行身份验证和授权。...请注意,此命令应以用户postgres身份发布,而不是在PostgreSQL控制台内部: createuser --interactive 这基本上是一个交互式shell脚本,它调用正确PostgreSQL...要将Linux中用户帐户更改为test1: su - test1 然后,使用以下命令以PostgreSQL角色test1连接到数据库test1: psql 现在您应该看到PostgreSQL提示新创建用户

4.2K00

分布式 PostgreSQL 集群(Citus)官方教程 - 迁移现有应用程序

目录 确定分布策略 选择分布 确定表类型 为迁移准备源表 添加分布 回填新创建 准备申请 Citus 建立开发 Citus 集群 在中包含分布 向查询添加分布 其他(SQL原则) 启用安全连接...考虑一个类似于 Etsy 或 Shopify 示例租户应用程序,其中每个租户都是商店。这是简化 schema 一部分: (带下划线项目是主键,斜体项目是。) 在此示例中,商店是自然租户。...在 pg_dumping schema 之前,请确保您已完成上一节中准备源表以进行迁移步骤。 在中包含分布 Citus 不能强制唯一性约束,除非唯一索引或主键包含分布。...因此,我们必须在示例中修改主键和以包含 store_id。...schema 将如下所示: (带下划线项目是主键,斜体项目是。)

2.1K30

如何在Ubuntu 16.04上安装PostgreSQL

PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、、触发器、视图、事务完整性、MVCC。...更新您系统: sudo apt-get update && sudo apt-get upgrade 注意 本教程是为非root用户编写。需要提升权限命令以sudo为前缀。...su - postgres psql -d template1 -c "ALTER USER postgres WITH PASSWORD 'newpassword';" 请注意,此用户postgresLinux...您可以了解在\ h后添加有关特定命令更多信息。 创建表 本节包含使用员工名字和姓氏创建测试数据库示例,为每个名称分配一个唯一。...创建自己表时,可以根据需要指定任意数量参数()并对其进行适当命名。 从创建数据库部分步骤2中打开PostgreSQL shell运行本节中命令。

2.1K20

Greenplum 实时数据仓库实践(6)——实时数据装载

代理是维度表主键。事实表引用维度表代理作为自己,四个构成了事实表联合主键。订单金额是当前事实表中唯一度量。...在大多数情况下,分布需要motion操作来连接表,因此它们随机分布相比没有优势。 分布数据应包含唯一值或非常高基数(不同值个数与总行数比值)。...如果不是为了特定目的设计,尽量不要选用where查询条件中频繁出现列作为分布。 应该尽量避免使用日期或时间列作为分布,因为一般不会使用这种来与其他表列进行关联查询。...虽然sales_order.order_number值本身是唯一,但MySQL分区表类似,Greenplum分区表也要求主键中包含分区,否则会报错: ERROR: PRIMARY KEY...事实表中冗余了一年月,作为分区。之所以用年月做范围分区,是考虑到数据分析时经常使用年月分组进行查询和统计,这样可以有效利用分区消除提高查询性能。

2.2K20

进阶数据库系列(二十五):PostgreSQL 数据库日常运维管理

在新版本库中进行逻辑恢复 数据库管理 简单psql命令 [postgres@pg_master ~]$ psql -h 192.168.233.30 -p 5432 -U postgres -d pgtest...lc_collate:在新数据库中使⽤排序规则(LC_COLLATE)。这会影响应⽤于字符串排序顺序,例如在使⽤ORDER BY查询中,以及在⽂本索引中使⽤顺序。...DELETE操作,而是DROP或者TRUNCATE对应表; 为了全球化需求,所有的字符存储表示,均以UTF-8编码; 对于值堆表存储顺序线性相关数据,如果通常查询为范围查询,建议使用BRIN...col) ~ ‘^def’; – 后缀查询使用反转函数索引) 用户应该对频繁访问大表(通常指超过8GB表,或者超过1000万记录表)进行分区,从而提升查询效率、更新效率、备份恢复效率、建索引效率等等...; count(distinct col) 计算该非NULL不重复数量,NULL不被计数; count(distinct (col1,col2,…) ) 计算唯一值时,NULL会被计数,同时NULL

55720

Vapor奇幻之旅(06 PostgreSQL)

在上一篇Vapor奇幻之旅(05 Fluent)中,我介绍了如何使用Fluent创建数据模型,并在自带内存数据库中进行增删改查操作。...用这种方法可以方便进行接口测试和数据测试,不需要额外部署数据库环境,对于调试程序和测试来说好处不言而喻。...而在web应用使用中,对数据持久化是必不可少,于是我们就需要通过程序来连接数据库进行数据操作,这样整个系统才算基本完整。 什么是PostgreSQL?...,我给出一些主要特性: 复杂查询 支持 触发器 可更新视图 事务完整 版本并发控制 PostgreSQL同样具有非常灵活可扩展性,支持大部分sql标准, 再加上是开源并免费,所以适用于任何用途...PostgreSQL Provider为我们提供了连接到数据库driver,就像pgAdmin 4一样使我么你程序能够连接到数据库进行相应操作。

1.2K20

如何在Ubuntu 16.04上安装和使用PostgreSQL

没有服务器同学可以在这里购买,不过我个人更推荐您使用免费腾讯云开发者实验室进行试验,学会安装后再购买服务器。...安装后Postgres设置为使用ident身份验证,这意味着它将Postgres角色匹配Unix / Linux系统帐户相关联。...键入以下内容切换到服务器上postgres帐户: sudo -i -u postgres 您现在可以通过键入以下内容立即访问Postgres提示: psql 您将立即登录并能够数据库管理系统进行交互...sammy 使用新角色打开Postgres提示符 要使用ident基于身份验证登录,您需要一个Postgres角色和数据库同名Linux用户。...sammy psql 或者,您可以内联执行此操作: sudo -u sammy psql 假设所有组件都已正确配置,您将自动登录。

5.1K10

MySQL 约束介绍

主键约束相当于唯一约束+非空约束组合,主键约束不允许重复,也不允许出现空值 一个表最多只能有一个主键约束 主键约束对应着表中或者 如果是组合复合主键约束,那么这些都不允许为空值,...限定某个表某个字段引用完整性 从表,必须引用/参考主表主键或唯一约束 在创建约束时,如果不给约束命名,默认名不是列名,而是自动产生一个键名(例如student_ibfk_1...创建(CREATE)表时就指定约束的话,先创建主表,再创建从表 删表时,先删从表(或先删除外约束),再删除主表 从表主表被参照列名字可以不相同,但是数据类型必须一样,逻辑意义一致 在“...update/delete记录时,同步update/delete掉子表匹配记录 Set null方式:在父表上update/delete记录时,将子表上匹配记录设为null,但是要注意子表不能为...not null No action方式:如果子表中有匹配记录,则不允许对父表对应候选进行update/delete操作 Restrict方式:同no action, 都是立即检查约束(如果没有指定等级

1.5K41
领券