标签: pgadmin

Postgres PgAdmin III 查询生成器崩溃

我已经使用 Postgres 和 pgAdmin III 好几年了,但是今天早上我遇到了一个非常大的问题。我在 Windows Xp 操作系统上使用 pgAdmin III 9.0,在我的笔记本电脑 Dell Latitude E4300 上。

从今天早上开始,查询生成器(“SQL 编辑器”)选项停止工作。当我打开 pgAdmin 时,一切都很好并且可以正常工作,直到我单击 Sql Query Builder 按钮。当我这样做时,什么都没有出现并且 pgAdmin 崩溃而不提供任何信息。

我再次尝试卸载并安装 PgAdmin III 9.1,但 Sql Query Builder 一直无法正常工作。

我能做什么?

postgresql query pgadmin

5
推荐指数
1
解决办法
6855
查看次数

Postgres 多连接慢查询,如何存储默认子记录

我在 Postgres 中有一个小型数据库,大约有 10,000 条记录存储公司客户。
我有一个执行非常频繁的“缓慢”执行查询(大约半秒),我的老板希望我改进它。

首先 - 我的代码:

select customer_alias.id, customer_alias.name, site.address, phone.phonenumber
from customer_alias
join customer on customer_alias.customer_id = customer.id
left join site on customer.default_site_id = site.id
left join contact_phonenumbers as phone on site.default_phonenumber = phone.id
Run Code Online (Sandbox Code Playgroud)

(编辑left join customerjoin customer)

让我突然customer想到的是,即使我没有从该记录中选择任何内容,我也正在执行连接。我目前必须加入它才能获得表default_site_id的外键site

每个客户可以有多个站点,但此列表中只能显示一个站点(必须打开一个客户才能查看所有站点)。所以我的问题是,如果我无法优化查询,是否有不同的方式可以为特定客户存储默认站点?默认电话号码也是如此

一个客户可以有多个站点,但一个站点只有一个客户(多对一)。


EXPLAIN 返回:

Hash Join  (cost=522.72..943.76 rows=5018 width=53)
  Hash Cond: (customer.id = customer_alias.customer_id)
  ->  Hash Right Join  (cost=371.81..698.77 rows=5018 width=32)
        Hash Cond: (site.id = customer.default_site_id) …
Run Code Online (Sandbox Code Playgroud)

postgresql performance pgadmin explain

5
推荐指数
1
解决办法
7507
查看次数

是否有 pgadmin 插件的存储库?

我已经将 PostgreSQL 与 PGAdmin III 一起使用了一段时间,但一直困扰着我,有一个插件菜单选项是空的。我在谷歌上搜索了一些并在这里和那里找到了一个插件,但我想知道是否有我错过的存储库?

如果您不知道 repo 但知道其他插件,请也让我知道它们。

postgresql pgadmin

5
推荐指数
1
解决办法
764
查看次数

在一个脚本中删除多个数据库

我想弄清楚如何在一个 sql 脚本中删除 PostgreSQL 上的多个数据库。我最好需要它在pgAdmin控制台中执行时和在psql命令行工具中使用时都能工作。当我做:

DROP DATABASE db1;
DROP DATABASE db2;
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

无法从函数或多命令字符串执行 DROP DATABASE

有没有办法解决这个问题?即,有没有办法单独运行每个命令(比如在 MSSQL 上使用“GO”语句时),或者其他一些明智的方法来轻松删除多个数据库?我在开发过程中需要此功能用于维护脚本。

postgresql pgadmin psql scripting

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

如何在不保持事务打开的情况下保持结果集?

以下文档描述了如何查看从函数返回的 refcursor,这里,如下所示:

    CREATE FUNCTION reffunc(refcursor) RETURNS refcursor AS '
BEGIN
    OPEN $1 FOR SELECT col FROM test;
    RETURN $1;
END;
' LANGUAGE plpgsql;

BEGIN;
SELECT reffunc('funccursor');
FETCH ALL IN funccursor;
COMMIT;
Run Code Online (Sandbox Code Playgroud)

这对我有用。但是,如果我想将结果保留在我的屏幕上,我必须保持事务处于打开状态。当我执行 COMMIT 时,我的结果集被丢弃。当我同时执行 FETCH 和 COMMIT 时,第一个结果集被丢弃。

有没有办法提交事务但保留结果集?PgAdmin 的版本是 1.18.1。

postgresql pgadmin cursors postgresql-9.3

5
推荐指数
1
解决办法
7544
查看次数

打开窗口时如何禁用 pgAdmin 4 中的淡入和淡出效果?

有没有办法在打开窗口时禁用 pgAdmin 4 中的淡入和淡出效果?

淡入淡出示例:

在此处输入图片说明

pgadmin

5
推荐指数
1
解决办法
456
查看次数

客户端应用程序在 10 分钟不活动后与其连接的数据库断开连接

当使用 pgAdmin 4(实际上是其他几个充当数据库客户端的程序)时,与服务器的连接在闲置 10 或 15 分钟后断开。一杯咖啡和一个电话,您会收到一条类似于“抱歉,与数据库的连接已丢失。您希望我尝试重新连接吗?”的消息。

而且pgAdmin重新连接总是需要多次尝试,并且已经展开的对象树被折叠了......所以,这有点烦人。

pgAdmin 似乎没有与该行为相关的任何参数。(似乎有一些方法可以更改某些连接超时,但它们与 pgAdmin 在服务器连接时间过长时的行为方式有关)。

可以做些什么来避免 pgAdmin 与数据库断开连接?


披露:这实际上是一个“伪问题”。它是另一个的衍生产品,最终与失去连接无关......鉴于我已经有了一个答案,我(不是很谦虚地)认为值得“问”,以防万一回答对某人有帮助。

postgresql client pgadmin network connectivity

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

在 pgadmin4 Postgresql 中终止连接

你能告诉我如何在不执行任何脚本的情况下终止 pgadmin 4 web postgresql 中的连接吗?

如何限制与数据库的连接数以终止活动连接(我的情况我想重命名已使用的数据库!)

postgresql pgadmin pgadmin-4

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

Postgres:插入的元组和实时元组之间的区别

提前很多道歉,但我自己无法找到:

活元组和插入 postgres 统计的元组有什么区别?

有这个帖子,但它没有回答这个问题:pg_stat_get_live_tuplesRepresenting the number of live [...] rows (tuples) in the table.但什么是“活”?

Postgres文档也不提供答案:

  • pg_stat_get_live_tuples(oid) Number of live rows in table
  • pg_stat_get_tuples_inserted(oid) Number of rows inserted into table

为什么我的统计数据显示 213,324,422 个插入的元组,但只有 124,510,280 个活动元组?(3,087,919 个死元组)

PG Admin文档对此也不清楚。它还说Tuples Inserted displays the number of tuples inserted into the database within the last week.

我想知道我的数据库中现有条目的总数。这是活动行还是插入行?

postgresql pgadmin

5
推荐指数
1
解决办法
1万
查看次数

PostgreSQL 12:列 proisagg 不存在

我在这里使用以下图像(即 9.3-2.1、11.0-2.5 和 12.0 标签)创建了一个 PostGIS 数据库,但是当我尝试打开“公共”模式时出现以下错误:

在此处输入图片说明

在此处输入图片说明

An error has occurred:

11:43:59: Error: ERROR:  column "proisagg" does not exist
LINE 9:  WHERE proisagg = FALSE AND pronamespace = 2200::oid
HINT:  Perhaps you meant to reference the column "pr.prolang".
Run Code Online (Sandbox Code Playgroud)
An error has occurred:

11:46:24: Error: ERROR:  column rel.relhasoids does not exist
LINE 1: ...t_userbyid(rel.relowner) AS relowner, rel.relacl, rel.relhas...
Run Code Online (Sandbox Code Playgroud)

我在这里这里找到了可能的解决方案。我试图询问我应该如何更新查询,但我需要至少 50 个声望才能发表评论。

有谁知道我应该如何解决这个问题?或者我应该如何更改 pgAdmin 上查询的定义?

提前致谢。

系统:

  • PostgreSQL 12.0 (Ubuntu 12.0-2.pgdg16.04+1)
  • pgAdmin III
  • Ubuntu 16.04 LTS

postgresql pgadmin pgadmin-3

5
推荐指数
1
解决办法
8468
查看次数