问题标签 [postgresql-9.2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1625 浏览

sql - 如何在 PostgreSql 的预订表中找到第一个空闲时间

预订表包含预订开始日期、开始时间和持续时间。开始时间在工作日的 8:00 .. 18:00 以工作时间为单位增加半小时。持续时间也是一天中的半小时增量。

如果需要,可以更改表结构。

如何在未保留的表中找到第一个免费半小时?Eq 如果表包含

结果应该是:

可能 PostgreSql 9.2 窗口函数应该用于查找 starthour 大于前一行 starthour + duration 的第一行
如何编写返回此信息的 select 语句?

0 投票
1 回答
2086 浏览

python - 尝试使用 Tweepy/Twitters Streaming API 和 psycopg2 来填充 PostgreSQL 数据库。很近,一条线

我一直在尝试使用 Tweepy 和 Twitter 的 Streaming API 在 PostreSQL 数据库中填充表。我非常接近,我相信我离得到它只有一条线。我看过很多例子,包括: http ://andrewbrobinson.com/2011/07/15/using-tweepy-to-access-the-twitter-stream/ http://blog.creapptives.com/post/14062057061 /the-key-value-store-everyone-ignored-postgresql Python tweepy 写入 sqlite3 db tweepy 流到 sqlite 数据库 - 无效的 synatx 使用 tweepy 访问 Twitter 的 Streaming API

我可以很容易地使用 Tweepy 流式传输推文,所以我知道我的消费者密钥、消费者密钥、访问密钥和访问密钥是正确的。我还设置了 Postgres,并成功连接到我创建的数据库。我使用 .py 文件中的 psycopg2 将硬编码值测试到我的数据库中的表中,这也有效。我正在根据我选择的关键字获取推文,并成功连接到数据库中的表。现在我只需要将推文流式传输到我的 postgres 数据库中的表中。就像我说的,我是如此接近,任何帮助将非常感激。

这个精简的脚本将数据插入到我想要的表中:

下面是我已经编辑了一段时间的脚本,现在试图让它工作:

对不起,如果代码有点乱,但一直在尝试很多选择。就像我说的那样,任何建议、有用示例的链接等都将不胜感激,因为我已经尝试了我能想到的一切,现在正在长途跋涉。万分感谢。

0 投票
1 回答
102 浏览

sql - 如何为 char(10) 类型的对象预留时间

Postgresql 9.2保留表包含objekt2类型为 的列char(10)

以下代码用于创建非重叠预订表:

这会导致错误:

错误:访问方法“gist”不存在运算符类“text_pattern_ops”

如何修复此错误,以便char(10)类型列可用于预订,并且不允许相同objekt2值的重叠预订?

0 投票
1 回答
1231 浏览

sql - 如何从 PostgreSql 的预订中只返回工作时间?

从如何在 PostgreSql 的预订表中找到第一个空闲时间的好答案中选择

用于查找从给定日期和时间开始的日程安排间隙(2012-11-17 8:在下面的示例中)它还可以找到星期六、星期日和公共假期。公众假期定义见表

如何也排除周末和公共假期?

硬编码空闲时间保留为查询

每个空闲时间范围都需要单独的联合行。

从给定日期和时间开始,在工作日和工作时间(8:00 .. 18:00)中返回空闲时间的最佳方式是什么?

更新

Select in answer 总是在 8:00 返回空闲时间。如何在指定的开始日期返回不早于指定开始时间的空闲时间,例如如果开始时间为 9,则不早于 2012-11-19 9:00?开始时间可能只有值 8,9,10,11,12,13,14,15,16 或 17

即使 2012-11-19 8:00 如果免费,它也应该返回 2012-11-19 9:00。仅当 2012-11-19 9:00 没有空闲时间且后续工作日 8:00 首次空闲时,才应返回 8:00。

我尝试通过将2012-11-19 9:添加到两个位置来解决此问题,如下面的查询所示,但此查询仍返回 2012-11-19 8:00 的空闲时间。如何解决此问题,使其在 2012-11-19 9:00 返回空闲时间?

更新2

我尝试了更新的答案,但它返回了错误的数据。完整的测试用例是:

观察到的第一行:

预期的 :

怎么修 ?

0 投票
1 回答
28813 浏览

sql - 如何将值插入到 PostgreSQL 中表的新添加列的行中

我将个人地理数据库导入 PostgreSQL。对于我的一个表,我添加了一个新列。此列是空的,我想在此列中添加/插入值,以便填充其所有行。当我使用:

结果是创建了新行,所以我最终得到了 34 行,而不是 17 行。当我尝试使用 UPDATE...Set...=... Where.... 时,查询成功运行,但是,没有任何行受到影响。我现在的问题是:如何为新创建的列中的每一行添加值,从而不会创建新行?

提前致谢,任何帮助将不胜感激。

芭芭拉

0 投票
4 回答
12344 浏览

database - 在 phppgadmin 中创建数据库时出错

我有 PostgreSQL 9.2.0。单击创建数据库时,它显示以下错误:

0 投票
0 回答
8293 浏览

macos - 让 Postgresql 在 Mac 中运行:数据库“postgres”不存在

我按照这些说明让 postgresql 在 mac 上运行。注意我是使用 Homebrew 安装的,目前通过 brew 可安装的版本是 9.2.1,所以我这里的说明中更改了版本号:http ://rails3hub.blogspot.com/2012/02/install-postgresql- 9-on-os-x.html

一切都很顺利,但我无法进入 psql 来创建数据库等等。如果我尝试psql我得到psql: FATAL: database "myusername" does not exist

如果我尝试psql -U root我得到psql: FATAL: role "postgres" does not exist

如果我尝试按照博客中的说明使用 pgAdmin 作为我的 postgres 控制台,例如psql -d postgres < /usr/local/Cellar/postgresql/9.2.1/share/postgresql/extension/adminpack--1.0.sql我得到相同的角色“postgres”不存在错误。

我不知道如何启动和运行它,我只是想进入 psql,就像我会 mysql -U root、创建一个数据库并开始使用一个站点一样。

有人有什么建议吗?我可以发布更多信息,我在 Mac OSX 上仅供参考。

0 投票
2 回答
427 浏览

sql - 在预订表中只允许工作时间

PostgreSql 9.2 保留表定义为

节假日列于表中

工作日的工作时间为 8 点至 18:00,并且只能以 30 分钟的间隔进行预订。如何在值中添加约束,以便它只允许在工作时间进行预订:

  1. tsrange 中的开始日期和结束日期始终相同。
  2. 开始和结束日期不能是星期六和星期日
  3. 开始和结束日期不能出现在公共假期表中
  4. 开始时间只能是 8:00 , 8:30, 9:00, 9:30, ... 16:00, 16:30, 17:00 或 17:30(含)
  5. 结束时间只能是 8:30, 9:00, 9:30, ... 16:00, 16:30, 17:00, 17:30 或 18:00

将这些或其中一些约束添加到此表是否合理?如果是,如何添加?如果这有帮助,可以更改计划表结构。

0 投票
4 回答
2130 浏览

sql - pgbench 进行大量事务后数据库暂时断开连接

我正在使用(PostgreSQL)9.2.1 并使用 pgbench 测试数据库。

当我使用 -C 参数(为每个事务建立一个新连接)时,事务总是在第 16381 个事务之后丢失。

并且每次测试实际处理的事务数始终为16381。但是,pgbench 可以成功,并且所有事务都在以下情况下处理

-C 未使用

或者

总交易量小于 16381

删除这些事务后,数据库可以在几秒钟内继续接受连接。我想知道我是否错过了 PostgreSQL 的一些配置。

谢谢


编辑我发现客户端被阻止连接几秒钟,但其他人仍然可以访问数据库。这是否意味着同一个客户端不能在短时间内发送太多交易?

0 投票
2 回答
39938 浏览

postgresql - 通过 RAW plpgsql 中的 UPDATE 语句获取受影响的行

这已经在这里这里多次询问,但没有一个答案适合我的情况,因为我不想在 PL/PgSQL 函数中执行我的更新语句并使用GET DIAGNOSTICS integer_var = ROW_COUNT.

我必须在原始 SQL 中执行此操作。

例如,在 MS SQL SERVER 中,我们有 @@ROWCOUNT ,可以像下面这样使用:

在数据库的一次往返中,我知道更新是否成功并返回计算值。

可以使用什么来代替 '@@ROWCOUNT' ?有人可以确认目前这实际上是不可能的吗?

提前致谢。

编辑 1:我确认我需要使用原始 SQL(我在原始描述中写了“原始 plpgsql”)。

为了使我的问题更清楚,请考虑更新语句仅影响一行并考虑乐观并发:

  1. 客户SELECT首先做了一个声明。

  2. 他构建了 UPDATE 并知道哪些数据库计算列将包含在 SELECT 子句中。除其他外,谓词包括每次更新行时计算的时间戳。

  3. 所以,如果我们返回了 1 行,那么一切正常。如果没有返回任何行,那么我们知道之前有更新,客户端可能需要在再次尝试更新子句之前刷新数据。这就是为什么我们需要在返回计算列之前知道有多少行受更新语句影响。如果更新失败,则不应返回任何行。