问题标签 [postgresql-9.5]
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.
postgresql - Postgresql 规则和返回子句
我是 Postgresql 的新手,我正在研究它的功能。带有条件“什么都不做”的更新/删除规则似乎打破了每个更新/删除查询的“返回子句”。从 postgresql 9.5 起有什么解决方案吗?
这是我为测试而运行的简单 sql 片段:
它大喊:
使用当前解决方案编辑:正如评论的那样,我解决了将规则重写为触发器的问题。它更丑但有效。使用以下触发器而不是规则对性能有何影响?
sql - 当前行以外的窗口运行功能
我有一个理论问题,所以我对替代解决方案不感兴趣。对不起。
问:是否可以获得除当前行之外的所有先前行的窗口运行函数值?
例如:
实际结果是
我想拥有max
和cnt
列一样的行为sum
,所以,结果应该是:
可以使用简单的子查询来实现,例如
但是是否可以只使用窗口函数语法而不使用子查询?
doctrine-orm - Symfony 3.0 PostgreSQL 数据库错误
我正在尝试将 Symfony 3.0 与 PostreSQL 数据库一起使用。
参数.yml:
我运行以下代码来尝试生成实体:
尽管将我的驱动器更改为 pdo_pgsql 我收到以下错误:
感觉就像我错过了一步,因为 Symfony 仍在寻找 mysql 数据库。请给我一些有关如何纠正此错误的见解。
php - Symfony 3 Doctrine 2 Postgresql 9.5 迁移尝试创建表而不是更改表 php7
我将 Symfony 3 和 Doctrine 与 Postgresql 数据库一起使用。我生成了一个具有一些属性的基本类:
命名空间 Dmfa\AdminBundle\Entity;
使用 Doctrine\ORM\Mapping 作为 ORM;
然后我生成一个差异并进行迁移。它工作完美。然后我在该实体的公司财产中:
我做了一个差异,并注意到它没有做一个改变表,而是它似乎正在重新创建表。我收到以下错误:
是他的错误还是我自己做错了。请告知如何纠正此问题。
***** 编辑 *****
经过进一步分析,迁移甚至似乎都不正确。Up 和 Down 对于发送迁移具有相同的确切代码,其中不包括任何更改或丢弃。
第二次迁移:
c - 编译 Windows PostgreSQL 9.5 64 位 C 语言函数
我想在 Windows 上为 PostgreSQL 9.5 64bit 创建本机 C 扩展。
如果可能的话,我很想用 MinGW-w64 构建它们,以使我的构建链尽可能干净。但我正在使用 PostgreSQL 的 EnterpriseDB 构建,而 MinGW 构建使它崩溃。
如果我可以在这个商业项目中使用另一个免费的编译器,那也可以。
我知道如何让它与 Visual Studio 2003 Express 一起工作,但由于许可证问题,这似乎不是一个解决方案。
postgresql - PostgreSQL 9.5.1 无法在 Windows 7 64 位上安装
64 位和 32 位安装程序都失败并显示以下消息:
我检查了 COMSPEC 变量,似乎没有问题。我仔细检查了:
一切似乎都很好。我在这里迷路了。找不到任何帮助。我还附上了安装程序日志:
postgresql - 我正在尝试远程访问postgres db,但是修改pg_hba.conf 和postgresql.conf 后postgres 服务不会启动
我已经读过,为了启用对 postgres 数据库的远程访问,必须修改 pg_hba.conf 以添加客户端身份验证记录,并更改 postgresql.conf 中的侦听地址。详情在这里。
完成这两件事后,我的 postgres 服务将无法启动。这是我的日志:
第 81 行是我添加客户端身份验证记录的位置。
当我尝试启动服务时,使用本地系统帐户是否足够,还是需要登录?我是否需要在 postgresql 应用程序中配置具有组角色和登录角色的内容?最后,如果有什么不同,数据库将托管在 Google Compute Engine 实例上。
database - Postgres 9.4.5 升级到 9.5
我有一个在 CentOS 6.7 上运行的 Postgres(版本9.4.5 )数据库。
我如何能够将我当前的 Postgres 发行版升级到v9.5.x?
由于该服务器当前处于生产状态,因此必须以最小的数据损坏和最短的停机时间来完成此操作。
我已经考虑安装一个单独的 Postgres 9.5 实例并交换平衡器以指向新实例。然后在后台执行顺序插入。但是,这会导致序列化列出现问题。这绝对不是理想的情况。
对于任何好奇的人来说,之所以会进行此更改,是因为 Postgres 9.4.5 没有一种方法可以在没有潜在数据丢失和/或并发错误的情况下执行 upsert。
需要注意的是,目前数据库大小为300GB,主要用于数据仓库。
硬件规格如下:
CPU:http ://ark.intel.com/products/83356/Intel-Xeon-Processor-E5-2630-v3-20M-Cache-2_40-GHz
内存:128GB
存储:1.5TB PCIE SSD
sql - 可以将 INSERT [...] ON CONFLICT 用于外键违规吗?
给定
和
wherereferenced_id
和entry_id
是主键。
如果已存在或引用的项目不存在,我想要一个entries
跳过插入的插入语句。entry_id
第一个很容易做到:
是否也可以在这里检查外键是否存在?
postgresql - PostgreSQL比较两个jsonb对象
使用PostgreSQL(v9.5),JSONB格式提供了绝佳的机会。但是现在我被一个看起来相对简单的操作所困扰。
比较两个 jsonb 对象;查看一份文件与另一份文件相比有何不同或缺失的地方。
到目前为止我所拥有的
应该返回第 1 行与第 2 行的差异:
相反,它还返回重复项 ( {"a": "aaa"}
)。还; 一般来说,可能有更优雅的方法!