问题标签 [postgresql]
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.
sql - 通过 PostgreSQL 中的视图更新多对一关系中的两个表
我有两个表:foos
and bars
,并且它们之间存在多对一的关系:每个表foo
可以有很多bars
. 我还有一个 view foobars
,它连接了这两个表(它的查询就像select foo.*, bar.id from foos, bars where bar.foo_id=foo.id
)。
foo
编辑:如果您说s 和s之间存在多对多关系,那您就不会错bar
。然而, Abar
只是一个标签(实际上,它是一个大小),并且只包含它的名称。该表bars
具有与链接表相同的作用。
我有一个关于插入的规则,foobars
即“foo”部分foos
作为新行插入,“bar”部分由几个用逗号分隔的 bar-id 组成,每个这样的部分都有一个链接在它和适当的之间foo
创建(我使用一个过程来做到这一点)。
这对插入非常有用。但是,在更新整个事物时,我遇到了问题。规则的foo
部分很简单。但是,我不知道如何处理多个bar
s 部分。当我尝试DELETE FROM bars WHERE foo_id=new.foo_id
在规则中执行类似操作时,我会从 table 中删除所有内容bars
。
我究竟做错了什么?有没有办法实现我所需要的?最后,我对整个事情的处理方式是否明智?
(我对视图做了这个过于复杂的事情,因为我得到的数据是“<code>foo and all its bar
s”的形式,但用户必须只看到foobars
。)
postgresql - postgresql 中的时间旅行函数
任何人都可以推荐/反对 postgresql 的 contrib/spi 模块中的时间旅行功能吗?是否有任何地方可用的示例?
肿瘤坏死因子
python - SQL 跨列的绝对值
我有一个看起来像这样的表:
+ 和 - 值与单词相关联,因此教授很聪明,狗不聪明。阿拉斯加很大,占与其条目相关的总价值的比例,而 gnat 则相反。
有没有一种好方法可以获得离零最远的数字的绝对值,以及绝对值是否 =/= 值?相关地,我如何计算给定值的结果相对于其他值是否成比例地大?我会写一些东西来格式化输出:“狗:不聪明,可能不贵;教授聪明;法拉利:快,贵;阿拉斯加:大;蚊子:可能很小。” (格式不是问题,只是一个说明,我被困在基础查询上。)
此外,程序的其余部分是 python,所以如果有任何带有普通 dbapi 模块或更抽象模块的 python 解决方案,任何帮助表示赞赏。
sql - 您可以/如何在不破坏 RI 的情况下添加参考圈?
我主要对 pgsql 感兴趣,但我想知道在任何 RDBMS 中是否有一种方法可以在两个相互引用的表上执行插入操作,而无需禁用和重新启用任何 FOREIGN KEY 或 NOT NULL 约束. (你可能会认为这是一只从自己的蛋中诞生的鸡。)
举个实际的例子,如果你有一个选择题测验系统,有“问题”和“答案”表,其中 question.correct_answer 指代 answer.id,而 answer.question 指代 question.id,是否可以添加一个问题和它的答案同时?
(作为记录,我知道您可以在事务块中进行禁用和重新启用,并且另一个解决方案是没有正确答案列,而是将 answer.correct 作为布尔值并进行检查约束确保每个问题都有一个正确答案。但我对这里的替代解决方案并不好奇。)
php - 电子请假申请数据库设计
我目前正在处理休假申请(这是我的电子调度项目的一个子集),我的数据库设计如下:
stackoverflow 中是否有人也在开发电子休假应用程序?介意分享您的数据库设计,因为我正在寻找比我更好的设计。我当前设计的问题只出现在年初系统正在计算可以结转的天数时。
总共我必须运行 1 + {$number_of users} * 2 查询(第一个查询分配规则的数量和最大结转配额。然后对于每个用户,我需要找出余额,并且然后将余额插入数据库)
sql - SQL - 状态机 - 基于变更集报告历史数据
我想记录用户状态,然后能够根据我们保留的更改记录进行历史报告。我正在尝试在 SQL 中执行此操作(使用 PostgreSQL),并且我有一个用于记录用户更改的建议结构,如下所示。
这是我根据数据提出的表结构。
对于状态字段,“a”代表活动用户,“s”代表暂停用户,
因此,该用户在 1 月 1 日被暂停,并在 2 月 1 日再次活跃。
如果我想在 2008 年 1 月 15 日获得暂停的客户列表,那么应该显示用户 ID 1。如果我在 2008 年 2 月 15 日收到一份暂停的客户名单,那么用户 ID 1 应该不会出现。
1)这是为这种查询构建数据的最佳方式吗?
2)我如何查询此结构或您建议的修改结构中的数据,以便我可以简单地有一个日期(比如 1 月 15 日)并仅在 SQL 中找到在该日期具有活动状态的客户列表?这是 SQL 的工作吗?
python - How can I use UUIDs in SQLAlchemy?
Is there a way to define a column (primary key) as a UUID in SQLAlchemy if using PostgreSQL (Postgres)?
postgresql - 内连接和外连接;表格的顺序很重要吗?
为什么在结合外部和内部联接时表的顺序很重要?以下使用 postgres 失败:
结果:
当组在 FROM 中反转时,一切正常:
sql - SQL SELECT FROM ... AS 带有数据类型说明符?
我对 Postgresql 上的 SQL 查询有疑问。此 select 子句是数据库讲座中的一个示例:
问题出在第 2 行的 Marketshare 列。StudentPerCourse 和 StudentCount 都是整数类型。
在我的 Postgresql 数据库上使用它时,Marketshare 列被评估为 int 类型,而我在这里需要一个浮点/数字。通过搜索 SELECT 子句的 Postgresql 文档或谷歌搜索,我没有找到任何方法来指定数据类型。是否有(最好是标准 SQL)方法来指定列类型,或者我在这里遗漏了什么?
postgresql - 更改 pgsql 端口
我目前有一个在 port 上运行的已安装 pgsql 实例1486
。我想将此端口更改为5433
,我应该如何进行呢?