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

PostgreSQL 教程

最后,您将学习如何管理数据库,例如创建或修改现有结构。 第 1 节. 查询数据 主题 描述 简单查询 向您展示如何单个查询数据。 别名 了解如何查询或表达式分配临时名称。...连接删除 根据另一个值删除行。 UPSERT 如果行已存在于,则插入或更新数据。 第 10 节....管理 在本节,您将开始探索 PostgreSQL 数据类型,并向您展示如何创建和修改现有结构。 主题 描述 数据类型 涵盖最常用 PostgreSQL 数据类型。...创建 指导您如何在数据库创建。 SELECT INTO 和 CREATE TABLE AS 向您展示如何查询结果集创建。...检查约束 添加逻辑基于布尔表达式检查值。 唯一约束 确保一或一组值在整个是唯一。 非空约束 确保值不是NULL。 第 14 节.

55210

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

继续阅读了解如何配置这些。 创建roles 目前,您只需在数据库配置postgres roles。您可以使用命令createrole从命令行创建roles。...创建数据库 Postgres身份验证系统默认使用另一个假设是,对于用于登录任何roles,这个roles将具有可以访问同名数据库。...例如,不要将列名包装在引号,但是您输入值确实需要引号。 另外要记住是,您不要为equip_id输入值。这是因为只要创建行,就会自动生成此项。...添加和删除 创建后,您可以修改它以相对容易地添加或删除。...更新数据 到目前为止,您已经学习了如何添加记录以及如何删除它们,但本教程尚未介绍如何修改现有条目。 您可以通过查询所需记录并将设置为您要使用值来更新现有条目的值。

5.4K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    创建和删除 既然您已经知道如何连接到PostgreSQL数据库系统,我们就可以了解如何完成一些基本任务。 首先,我们可以创建一个来存储一些数据。让我们创建一个描述游乐场设备表格。...首先,请记住不应引用列名,但是您输入值确实需要引号。 要记住另一件事是我们不输入equip_id值。这是因为只要创建行,就会自动生成此项。...如果操场上幻灯片断开并且我们必须将其删除,我们还可以通过键入以下内容删除行: DELETE FROM playground WHERE type = 'slide'; 如果我们再次查询我们表格...如果我们想在创建之后修改添加其他,我们可以轻松地执行此操作。...您可以通过查询所需记录并将设置为您要使用值来更新现有条目的值。我们可以查询“swing”记录(这将匹配我们每个 swing)并将其颜色更改为“red”。

    5.2K10

    进阶数据库系列(十三):PostgreSQL 分区分

    一般来说,当大小超过数据库服务器物理内存时以上优势才能体现出来。 PostgreSQL 11 特性 PostgreSQL10版本支持通过继承来实现分区。...继承式分区使用 PostgreSQL10版本开始,引入了基于继承分区机制。 创建主表/父 不用为该定义任何检查限制,除非需要将该限制应用到所有的分区。...同样也无需为该创建任何索引和唯一限制。这里我们项目开发中常用到告警查询为例,创建一张tb_test_alarm。...创建子分区 每个分区必须继承自主表,并且正常情况下都不要为这些分区添加任何。...在创建好上述告警信息及分区后,我们可以执行一次插入操作和查询,并分析其查询计划来查看分区是否生效以及效果如何

    2.8K21

    PostgreSQL查询简介

    有几种方法可以数据库检索信息,但最常用方法之一是通过命令行提交查询来执行。 在关系数据库管理系统查询是用于检索数据任何命令。...有关设置帮助,请按照我们指南“ 如何在Ubuntu 18.04上安装和使用PostgreSQL“安装PostgreSQL”部分进行操作。 有了这个设置,我们就可以开始教程了。...,则可能已为PostgreSQL安装配置了角色。...为了说明这个想法,让我们在每个添加一个行,而另一个没有相应条目: INSERT INTO tourneys (name, wins, best, size) VALUES ('Bettye...查询多个另一种方法是使用子查询。子查询(也称为内部或嵌套查询)是包含在另一个查询查询。这些在您尝试根据单独聚合函数结果过滤查询结果情况下非常有用。

    12.4K52

    重磅 | 十年来扩展PostgreSQL一些经验和教训

    很少读取此数据-几乎所有访问后创建操作都是有针对性,UPDATE或者是OneSignal仪表板查询获取最新通知概述。有时还会导出客户端应用程序通知数据,但这些访问数据只占很小一部分。...文档: VACUUM回收死元组占用存储。在正常PostgreSQL操作,被更新删除或过时元组不会物理删除。它们将保持存在,直到完成VACUUM。...4 模式优化 我将介绍第一个优化解决如何避免由数据保留策略引起膨胀。使用PostgreSQL分区,您可以将一个变成多个,并且在您应用程序仍然只有一个外观。...为此,您最多可以创建30个分区,每个分区都将保留一个特定日期范围。实施保留策略时,使用简单DROP TABLE方法数据库删除单个分区,而不是尝试整个中进行有针对性删除。...较PostgreSQL版本提供了强大支持,可以使用其内置分区功能来拆分。使用内置支持一个优势是,您可以查询一个逻辑并获取结果,或者在多个基础之间拆分数据。

    1.6K20

    如何在CentOS 7上安装和使用PostgreSQL

    创建一个角色 postgresLinux帐户,您可以登录数据库系统。但是,我们还将演示如何创建其他角色。...首先,请记住不应引用列名,但是您输入值确实需要引号。 要记住另一件事是我们不输入equip_id值。这是因为只要创建行,就会自动生成此项。...如果我们幻灯片断开并将其操场上移除,我们还可以通过键入以下内容删除该行: DELETE FROM playground WHERE type = 'slide'; 如果我们再次查询我们表格,...如果我们想在创建之后修改添加其他,我们可以轻松地执行此操作。...您可以通过查询所需记录并将设置为您要使用值来更新现有条目的值。我们可以查询“swing”记录(这将匹配我们每个 swing)并将其颜色更改为“red”。

    4.9K11

    Edge2AI之使用 FlinkSSB 进行CDC捕获

    让我们连接到 PostgreSQL创建开始。 使用 SSH 连接到您集群主机 执行以下命令连接到cdc_test数据库cdc_user。此用户密码是supersecret1。...但是,默认情况下,在启动作业时不会自动使用保存点,并且每次执行相同查询都从头开始,导致 PostgreSQL 连接器对整个进行另一个初始快照。 在接下来步骤,您将启用保存点。 停止工作。...实验 4 - 复制表更改 在上一个实验,您可视化了应用到 SSB 数据库更改捕获。现在您将创建一个 SSB 作业将捕获更改复制到另一个。...将被创建,INSERT … SELECT …语句将开始执行将数据transactions复制到trans_replica。...该将被创建,该INSERT … SELECT …语句将开始执行将更改日志transactions复制到trans_changelogKafka 主题。

    1.1K20

    Citus 分布式 PostgreSQL 集群 - SQL Reference(创建和修改分布式 DDL)

    目录 创建和分布 引用 分布协调器数据 共置 Citus 5.x 升级 删除 修改 添加/修改 添加/删除约束 使用 NOT VALID 约束 添加/删除索引 手动修改 创建和分布...这种方式分布称为引用。它们用于存储集群多个节点需要频繁访问数据。 引用常见候选包括: 较小需要与较大分布式连接。 多租户应用程序缺少租户 ID 或不与租户关联。...(在某些情况下,为了减少迁移工作,用户甚至可以选择与租户关联但当前缺少租户 ID 创建引用。) 需要跨多个唯一约束并且足够小。...states ,并且可以将外键添加到 state 代码进行更好验证。...但是,不能更改分布数据类型。此列确定数据如何在 Citus 集群中分布,修改其数据类型将需要移动数据。

    2.8K20

    分布式 PostgreSQL 集群(Citus)官方示例 - 多租户应用程序实战

    Citus 集群随意下载并执行 SQL 创建模式。...,并且应该计划对这些未来传入查询进行分布式执行。...发挥您想象力,了解这些陈述将如何以您选择语言表达。 这是在单个租户上运行简单查询和更新。...此命令完成后,Citus 集群将接受在 caption 读取或写入数据查询。 有关 DDL 命令如何通过集群传播更完整说明,请参阅修改。...传统上,使用多租户共享模式方法数据库采用创建固定数量预分配“自定义”,或具有外部“扩展”。但是,PostgreSQL 为其非结构化类型提供了一种更简单方法,尤其是 JSONB。

    3.9K20

    PostgreSQLPostgreSQL 128大改进,性能大幅度提升

    此外,用户现在可以更改分区而不会阻止查询,并可以使用外键引用分区。 2. B树增强 B-Tree功能是近年来对PostgreSQL添加最复杂功能之一。使用B树好处是减少了访问磁盘块数量。...此外,索引更新期间锁定要求有所降低。 3.多最有价值(MCV)统计信息 此更新已经进行了几年开发,旨在解决多年来引起投诉问题:查询相关边缘情况。...在此功能之前,PostgreSQL仅记录了多个单个相关值。本质上讲,它将俄亥俄州辛辛那提和亚利桑那州辛辛那提视为同一件事。现在,您可以比较多个并关联组合优化查询索引。...4.公用表表达式(CTE) 正确实现另一个过期功能是通用表表达式(带有查询内联)。公用表表达式充当优化障碍,公用表表达式查询首先执行,然后PostgreSQL将在查询执行之后任何操作。...8.并发重新编制索引 索引并发功能已经存在多年,允许用户创建索引而又不阻止写入索引。重新索引不允许您在写入数据库时创建索引。同时使用reindex,通过在同一位置创建索引来替换现有索引。

    3K20

    Ubuntu 16.04如何使用PostgreSQL全文搜索

    在本教程,我们将使用PostgreSQL存储包含假设新闻网站文章数据,然后学习如何使用FTS查询数据库并仅选择最佳匹配。最后一步,我们将对全文搜索查询实施一些性能改进。...接下来,在数据库创建一个名为示例news。此每个条目都代表一篇新闻文章,其中包含标题,一些内容,作者姓名以及唯一标识符。...', 'Jo'); 既然数据库有一些要搜索数据,我们可以尝试编写一些查询。 第二步 - 准备和搜索文档 这里第一步是使用数据库多个文本构建一个文档。...注意:在本教程,psql输出使用expanded display格式设置,在行上显示输出每一,从而更容易在屏幕上显示长文本。...它们之间主要区别在于它们检索文档速度有多快。添加数据时构建GIN速度较慢,但查询速度更快;GIST构建速度更快,但需要额外数据读取。

    2.7K60

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

    您只需postgres用户身份调用此命令即可创建相应数据库: createdb test1 现在创建数据库test1。...创建和删除 既然您已经知道如何连接到PostgreSQL数据库系统,我们将开始讨论如何完成一些基本任务。 首先,让我们创建一个来存储一些数据。让我们创建一个描述游乐场设备表格。...添加,查询和删除数据 现在我们已经创建了一个,我们可以在其中插入一些数据。 让我们添加一张幻灯片和一个swing。我们通过调用我们想要添加,命名列然后为每提供数据来完成此操作。...首先,请记住不应引用列名,但是您输入值确实需要引号。 要记住另一件事是我们不输入equip_id值。这是因为只要创建行,就会自动生成此项。...如果我们幻灯片断开,我们将它从操场上移除,我们也可以通过键入以下内容删除行: DELETE FROM playground WHERE type = 'slide'; 如果我们再次查询我们

    4.3K00

    分布式 PostgreSQL 集群(Citus),分布式分布选择最佳实践

    如概念部分所述,Citus 根据分布哈希值将行分配给分片。数据库管理员对分布选择需要与典型查询访问模式相匹配,确保性能。...选择分布 Citus 使用分布式分布行分配给分片。为每个选择分布是最重要建模决策之一,因为它决定了数据如何跨节点分布。...为了比较,订单 status 字段具有 (new)、已付款(paid) 和 已发货(shipped) 值,是分布一个糟糕选择,因为它只假设这几个值。...最佳实践 不要选择时间戳作为分布。 选择不同分布。在多租户应用程序,使用租户 ID,或在实时应用程序中使用实体 ID。 改为使用 PostgreSQL 分区。...从头开始,我们可以创建 tenant_id 作为分布

    4.5K20

    MOP 系列|MOP 三种主流数据库索引简介

    在传统 b 树索引,一个索引条目指向单行。在位图索引,每个索引键存储指向多行指针。 位图索引主要是为数据仓库或查询特别方式引用许多环境而设计。...如下查询所示 SQL 查询 title (包括示例输出)。索引 job_title 键指向 employees 行。...一种代替基于函数索引方法是在添加一个虚拟,然后为虚拟创建索引(11g 以上)。...PostgreSQL 标准发布包含了用于二维几何数据类型 GiST操作符类,比如,一个图形包含另一个图形操作符“@>”,一个图形在另一个图形左边且没有重叠操作符“<<”,等等。...它是 PostgreSQL9.2 版本开始提供一种索引类型,和 GiST 相似,SP-GiST 索引为支持多种搜索提供了一种基础结构。

    13610

    进阶数据库系列(六):PostgreSQL 数据类型与运算符

    整数类型 整数类型包括:SMALLINT、INT(INTEGER)、BIGINT三种,三者在取值空间和存储范围上有所不同,不同存储空间也决定了不同查询效率。...应根据实际需要选择最适合类型,查询效率和存储空间上有所平衡。 浮点数类型 实际工作很多地方需要用到带小数数值,PostgreSQL使用浮点数来表示小数。...和其他语言一样,PostgreSQL数组也是通过下标数字方式进行访问,只是PostgreSQL数组元素下标是1开始n结束,格式如:[n]。..., -- 如查询单维字段pay_by_quarter第2,3数据,及多维schedule第1维1数据和第2维第一数据。...创建数据tmp4,定义数据类型为TIME字段t,向插入值‘10:05:05’,‘23:23’。

    4.7K31

    ClickHouse(06)ClickHouse建表语句DDL详细解析

    TOC当前服务器上创建(单节点)创建具有几种种语法形式,具体取决于用例。默认情况下,仅在当前服务器上创建。分布式DDL查询作为子句实现,该子句另外描述。...相同结构复制创建CREATE TABLE [IF NOT EXISTS] [db.]table_name AS [db2.]name2 [ENGINE = engine]创建另一个具有相同结构...ENGINE = engine AS SELECT ...使用引擎创建具有类似于查询结果结构,并使用来自数据填充该创建时候,还可以显式指定说明。...这样不存储在,不能被SELECT 查询,但可以在CREATE语句默认值引用。别名表达式ALIAS expr字段别名。这样根本不存储在。...;警告:不能在一个查询两种方式组合。

    74520

    POSTGRESQL PG VS SQL SERVER 到底哪家强? (译) 应该是目前最全面的比较

    可更新视图受支持,但是除非满足以下条件,否则更新不会自动发生:该视图查询必须在FROM子句中具有精确一个部分,这可以是另一个可更新视图。...MSSQL 中文:两种数据扩展比较 PostgreSQL提供多种索引和两种分区选项,提高可扩展数据操作和查询性能。...SQL Server包含对内存优化磁盘存储扩展性增强。当前版本提供了多个并发线程保存内存优化,多线程恢复和合并操作,以及动态管理视图。...SQL Serveridentity属性为创建一个标识,用于生成行关键值。创建时指定两个值:seed(第一行初始值)和increment(增加值相对于上一行)。...这种方式可以方便地存储和读取嵌套数据结构。 在 SQL Server ,当两个源包含定义关系且其中一个项可以与另一个项相关联时,可以创建嵌套。这可以是两个共享唯一标识符。

    2.5K20

    程序员硬核“年终大扫除”,清理了数据库 70GB 空间

    为了说明 B树 Deduplication 对索引大小影响,可创建一个包含唯一和非唯一,填充1M行。...要重新创建,必须创建一个,迁移数据,同步数据,在其他创建所有索引……等完成这操作后,才能将旧表切换为。...为了在不停机情况下重建,该扩展程序将创建一个,将原始数据加载到该,同时使其与数据保持最新,然后再重建索引。...该扩展会创建另一个来将数据复制到该,因此它需要附加存储量约为及其索引大小。...使用部分索引排除不经常查询或根本不查询值可能有益于任何值,而不仅仅是空值。NULL通常表示缺少值,我们没有很多查询在搜索空值,因此将它们索引中排除是有意义。 你最终如何清除超过20GB空间呢?

    2.2K10
    领券