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-3279

Jmoney38's questions

Martin Hope
Jmoney38
Asked: 2014-04-04 09:43:44 +0800 CST

Postgres 函数中的 RETURN NEXT

  • 3

我目前正在编写一个 plpgsql 函数,该函数将从表中选择并生成大量数据。

我原本打算返回一个数组,但我找到了一个解释“ RETURN NEXT操作的资源 - 对于调用者来说非常方便。

但是,我阅读了有关以下内容的简介:

注意: RETURN NEXT 和 RETURN QUERY 的当前实现在从函数返回之前存储整个结果集,如上所述。这意味着如果 PL/pgSQL 函数产生非常大的结果集,性能可能会很差:

是否有 Postgres 功能允许我的函数在生成结果时将结果流式传输回调用者?这可能是 Postgres 架构的一般限制,但我想确保我没有忽略某些东西!

postgresql plpgsql
  • 1 个回答
  • 1473 Views
Martin Hope
Jmoney38
Asked: 2012-11-10 06:46:11 +0800 CST

单个查询中的多对一子选择

  • 4

我有两个表,外键来自 T1->T2,是一对多的关系。也就是说,表 T1 中的 1 个元组与 T2 中的 0..N 个元组相关联。

举一个简单的例子,假设 T1 是汽车,T2 是一个缺陷表。因此,一辆汽车可以有 0..N 个缺陷,我们将这些缺陷作为整数存储在 T2 中。

我想仅从 Cars 中包含缺陷 i1和i2 的那些汽车中选择 *。

相反,执行 OR 非常简单:

SELECT * FROM cars AS T1 
  WHERE EXISTS (
    SELECT imperfection FROM Imperfections as T2 
      WHERE T1.uid = T2.uid AND (imperfection = 1 OR imperfection = 2)
  );

我一直在尝试使用交集来设置逻辑,但在这一点上,我想知道我是否过于复杂了。

database-design postgresql
  • 3 个回答
  • 17791 Views
Martin Hope
Jmoney38
Asked: 2012-08-01 04:14:02 +0800 CST

带有集合 DIFFERENCE 和 UNION 的 COUNT

  • 2

相当简单的问题,我似乎无法找到答案 - 我正在与工会和差异合作,我想对结果执行 COUNT 。目前,我必须输出到一个文件并“wc -l”该文件(Postgres 打印减去 4)。必须有一种方法来包含 COUNT ......

SELECT tbl1.id EXCEPT (SELECT tbl2.id UNION tbl3.id); 

我想知道设置差异后的结果数。感谢您的任何意见!

postgresql except
  • 2 个回答
  • 3305 Views
Martin Hope
Jmoney38
Asked: 2012-06-15 12:31:47 +0800 CST

将参数传递给 psql

  • 14

我在 Postgres 8.3 中运行一个 plpgsql 脚本 - 我想通过 psql 将参数传递给这个脚本。我目前正在执行脚本,例如:

psql -d database -u user -f update_file.sql 

我遇到了解释 PGOPTIONS 环境变量的此链接,但这不适用于“自定义”参数。即我收到一个错误,因为该设置未在 postgres.conf 文件中列出。

-bash-3.2$ export PGOPTIONS='--pretend=true'
-bash-3.2$ psql -d my_db -f update_database.sql
psql: FATAL:  unrecognized configuration parameter "pretend"

还有其他想法吗?理想情况下,我想避免环境变量...

postgresql psql
  • 6 个回答
  • 40911 Views
Martin Hope
Jmoney38
Asked: 2012-06-06 12:52:08 +0800 CST

查询期间从磁盘检索什么?

  • 16

相当简单的问题,可能在某个地方得到了回答,但我似乎无法为谷歌形成正确的搜索问题......

在查询该表的子集时,特定表中的列数是否会影响查询的性能?

例如,如果表 Foo 有 20 列,但我的查询只选择了其中的 5 列,那么有 20 列(相对于 10 列)会影响查询性能吗?为简单起见,假设 WHERE 子句中的任何内容都包含在这 5 列中。

除了操作系统的磁盘缓存之外,我还担心 Postgres 的缓冲区缓存的使用。我对 Postgres 的物理存储设计的理解非常模糊。表存储在多个页面中(默认为每页 8k 大小),但我不太了解如何从那里排列元组。PG 是否足够聪明,只能从磁盘中获取包含这 5 列的数据?

postgresql performance
  • 3 个回答
  • 2471 Views
Martin Hope
Jmoney38
Asked: 2012-03-01 10:34:52 +0800 CST

Postgres 共享缓冲区和池化进程

  • 1

我读过几篇文章(包括 Postgres 文档)建议将 shared_buffer 的配置值设置为总物理内存的 25%。

以我的 4 GB 内存为例...如果我理解正确,当 postgres 启动时,它将从操作系统请求 ~1 GB 的物理内存。它将用于缓冲目的。因此,当我查看像“top”这样的实用程序时,我看到 postgres 进程的大小/RES 约为 1GB。

所以我的问题是 - 当我与 Postgres 建立 POOLED 连接时会发生什么?即一个 Tomcat 服务器保持 N 个打开的空闲连接到 postgres?我可以看到有 N 个 postgress 进程在后台等待来自 Tomcat 的请求。每个进程大小相同(~1Gb)。我想它们是原始过程的分支。那么这是否意味着整个 Postgres 占用了 N*1GB 的内存??把 shared_buffer 弄这么大不是一件坏事吗?

postgresql jdbc
  • 1 个回答
  • 363 Views
Martin Hope
Jmoney38
Asked: 2011-09-15 03:42:25 +0800 CST

了解 EXPLAIN 命令的时间格式 - Postgres

  • 22

当我对给定查询运行 EXPLAIN ANALYZE 命令时,我很难解释输出的时间值。例如(实际时间=8163.890..8163.893)。内部小数是否代表重复字符?抱歉,这可能是一个愚蠢的问题,但我想确保我正确解释了结果。

   ->  GroupAggregate  (cost=2928781.21..2929243.02 rows=1 width=27712) (actual time=8163.890..8163.893 rows=1 loops=1)
postgresql explain
  • 2 个回答
  • 16439 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