小编Eri*_*met的帖子

DBeaver 只能看到连接中的默认 PostgreSQL 数据库

我在 Windows 上使用 DBeaver v 5.2.5 并使用它连接到 PostgreSQL 数据库。

要创建连接,我必须指定数据库,而我无意看到同一台服务器上的其他数据库。

在 Mac 上使用 DBeaver 5.3 的同事可以选择查看所有数据库,而不仅仅是默认数据库。

Windows 版本是否有等效设置?

postgresql dbeaver

16
推荐指数
4
解决办法
7142
查看次数

这个互斥体实现在 PostgreSQL 中有意义吗?

我需要在 PostgreSQL 中实现数据库会话之间的同步。

在 SQL Server 中,我将通过创建自己的“锁定”表来实现它。

Create table MyLock(LockName VARCHAR(100) NOT NULL UNIQUE, LockOwner INT NULL)
Run Code Online (Sandbox Code Playgroud)

我不使用显式事务来避免真正锁定事物,我将通过将会话 ID 设为“所有者”来获取“单例”锁。

UPDATE MyLock
  SET LockOwner = *MySessionId*
  WHERE LockName = 'Singleton' 
  AND LockOwner IS NULL;
Run Code Online (Sandbox Code Playgroud)

通过不使用显式事务,我不会阻止其他进程。您可以将其视为“软锁”...

如果我的更新成功,那么我知道我“拥有”锁,我可以处理一些代码,而其他人会等待。如果我的更新没有更新,我知道其他人有“锁”,我等待,或者放弃。

我需要在 PostgreSQL 中实现类似的东西。

你会这样做吗?

postgresql synchronization mutex

4
推荐指数
1
解决办法
1903
查看次数

UPDATE millions of rows, or DELETE/INSERT?

Sorry for the longish description... but here we go...

We have a fact table somewhat flattened with a few properties that you might have put in a dimension in a more "classic" data warehouse. I expect to have billions of rows in that table.

We want to enrich these properties with some cleansing/grouping that would not change often, but would still do from time to time.

我们正在考虑将这个初始事实表保留为我们从不更新或删除的“主”表,并为其制作一个“扩展事实”表副本,我们只在其中添加新的派生属性。

生成这些扩展属性值的过程需要映射到查找表的某种堡垒,从中我们获得每一行的几种可能性,然后选择最好的一个(每个初始行一个)。这可能是处理器密集型的。

问题(最后!):

想象一下我的查找表被修改了,我想重新评估初始事实表的一个子集的扩展属性。

我最终会在目标扩展事实表中得到几百万行想要修改的行。

实现此更新的最佳方式是什么?(更新几十亿行表中的几百万行)

  1. 我应该编写带有连接的 UPDATE 语句吗?

  2. 删除这一百万行并插入新行会更好吗?

  3. 还有其他方法吗,比如创建一个仅包含适当插入的新扩展事实表?

谢谢

埃里克

PS:我有 …

snowflake-cloud-data-platform

4
推荐指数
1
解决办法
5051
查看次数

如何检索通过 Snowflake javascript API 插入的行数?

如果我通过 javascript API 在 Snowflake 中运行 INSERT/SELECT,看起来无论插入了多少行,返回的 rowCount 都是 1...

myStatement = snowflake.createStatement( {sqlText: mySql} );
myStatement.execute();

rowCount = myStatement.getRowCount();
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来检索插入的行数?难道我做错了什么?

谢谢

snowflake-cloud-data-platform

3
推荐指数
1
解决办法
6339
查看次数

如果持续大约 5 分钟,Snowflake 上的 DBeaver 查询会导致“SQL 错误 [604] [57014]:SQL 执行取消”

我们非常愉快地使用 dbeaver 和 Snowflake 后端,但我无法执行持续大约 5 分钟或更长时间的查询。

看起来某个地方出现了超时,并且执行似乎被 DBeaver 取消了。

错误消息为“SQL 错误 [604] [57014]:SQL 执行已取消”

知道如何指示 DBeaver 等待所需的一切吗?

DBeaver 错误和超时

dbeaver snowflake-cloud-data-platform

3
推荐指数
1
解决办法
1495
查看次数

将 pg_stat_statements 永久保留在生产服务器上好吗?

我对 Postgresql 相当陌生(来自 SQL Server)

我偶然发现了那个包裹,它看起来很有趣。

将其永久保留在生产服务器上是一个好的做法吗?

一方面,我想知道在生产中实际加载我的系统的是什么。另一方面,我不想通过监视来加载我的服务器......

postgresql monitoring

2
推荐指数
1
解决办法
663
查看次数