AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-101002

ARX's questions

Martin Hope
ARX
Asked: 2022-12-31 08:39:55 +0800 CST

两个表能否在 pg_class 上获得相同的 OID?

  • 6

在 Postgres 上,我正在寻找一种方法来唯一标识一个表,而不管名称是否更改。OID 似乎适合于此。但是 OID 在 2^32-1 之后换行。

如果要换行 OID,我可以在 pg_class 上得到两个具有相同 OID 的表吗?或者有什么可以阻止它的吗?

postgresql
  • 1 个回答
  • 22 Views
Martin Hope
ARX
Asked: 2021-10-03 19:21:13 +0800 CST

BEGIN ATOMIC ... END 在 PostgreSQL SQL 函数/过程中是什么意思?

  • 10

在 PG 14 的文档中,该CREATE FUNCTION部分的手册说LANGUAGE SQL函数的主体可以是单个语句:

RETURN expression

或一个块:

BEGIN ATOMIC
statement;
statement;
...
statement;
END

没有对该块的语义给出任何解释。这看起来类似于BEGIN ... END;PL/pgSQL 中的块,但似乎有所不同。

写一组语句 inside 或 without 有什么区别BEGIN ATOMIC ... END?什么时候需要使用这样的块?ATOMIC关键字是强制性的吗?

postgresql functions
  • 1 个回答
  • 2169 Views
Martin Hope
ARX
Asked: 2021-09-13 17:18:32 +0800 CST

在 Postgres 上进行不区分重音比较的排序规则?

  • 1

在 PG 13 文档中,有几个用于特殊目的的 ICU 归类示例。还提到存在允许创建排序规则以忽略重音符号的 ICU 语言环境,并且可以在https://github.com/unicode-org/cldr/blob/master/common/bcp47/collat​​ion.xml上找到它们

但是,在阅读了该文档之后,我仍然不清楚应该使用什么语言环境来创建 ICU 排序规则,以便在西班牙语中进行不区分重音的比较。

这种 ICU 语言环境的名称是什么?有没有 ICU 西班牙语排序规则的列表?

postgresql collation
  • 1 个回答
  • 563 Views
Martin Hope
ARX
Asked: 2021-09-05 08:02:31 +0800 CST

Postgres 上 SELECT 中的 unnest() 与 FROM 中的 unnest() 之间的区别

  • 0

我希望将 tsvector 数组的词位放在一列中,每行一个。我可以首先取消嵌套数组,然后使用以下命令生成 tsvector:

SELECT (unnest(unnest(my_array))).lexeme
FROM my_table
WHERE id = 1;

这使:

lexeme  
----------
foo
bar
baz
...

但是,我注意到,如果我尝试在 FROM 子句中做同样的事情:

SELECT lexeme
FROM unnest(
    (SELECT unnest(my_array) FROM my_table WHERE id = 1)
);

我得到:

错误:用作表达式的子查询返回多行

所以,我最终这样做:

SELECT lexeme
FROM (
    SELECT (unnest(col1)).lexeme
    FROM (
        SELECT unnest(my_array) 
        FROM my_table 
        WHERE id = 1 
    ) AS t(col1)
) AS t2;

我得到了原始结果。但这很冗长。所以,我想知道:

  1. 为什么 unnest() 在 FROM 子句中需要单个输入行,但在 SELECT 子句中不需要?

  2. 有没有比我的代码更简洁、不那么复杂的方式来获取 FROM 子句中的词位列?

  3. SELECT 子句中的取消嵌套与 FROM 子句中的取消嵌套在性能上是否存在差异?

postgresql full-text-search
  • 1 个回答
  • 794 Views
Martin Hope
ARX
Asked: 2016-10-01 10:05:39 +0800 CST

视图对 PostgreSQL 的性能有害吗?

  • 79

以下摘自一本关于 db design 的书(Beginning Database Design ISBN: 0-7645-7490-6):

使用视图的危险在于过滤针对视图的查询,期望读取非常大的表的一小部分。任何过滤都应该在视图中完成,因为对视图本身的任何过滤都是在视图中的查询完成执行后应用的。视图通常可用于加快开发过程,但从长远来看会完全破坏数据库性能。

以下是 PostgreSQL 9.5 文档的摘录:

自由使用视图是良好 SQL 数据库设计的一个关键方面。视图允许您在一致的接口后面封装表结构的细节,这些细节可能会随着应用程序的发展而改变。

这两个来源似乎相互矛盾(“不要用视图设计”与“用视图做设计”)。

但是,在 PG 中,视图是使用规则系统实现的。因此,可能(这是我的问题)对视图的任何过滤都被重写为视图内的过滤器,从而导致对基础表执行单个查询。

我的解释是否正确并且 PG 将 WHERE 子句组合到视图中和视图之外?还是一个接一个地单独运行它们?任何简短的、独立的、正确的(可编译的)示例?

postgresql optimization
  • 4 个回答
  • 66349 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve