问题标签 [postgres-9.6]
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 - postgres 中的 regexp_replace 只保留需要的单个空格
我想要的是像这样转动一个字符串;
10 - 15 st. pan,cras
至
10 - 15 ST PANCRAS
我得到了大部分的方式
但我似乎无法删除数字周围的双空格。我试过了,在表达式中添加了一个额外的空格;
但结果没有区别。我正在使用regexp_replace
,因为我发现substring
语法更难遵循。9.6 字符串存储在text
java - PostgreSQL 9.6 DATE column mapping using Hibernate 5+ in Java 8
Let's consider a simple Postgres database with only one table and one column, that is of type DATE, i.e.:
From the Hibernate documentation regarding basic types and PostgresSQL documentation regarding using Java 8 Date and Time classes, I can clearly see that I should be able to map that table like this:
quite easily, without a need to write @Temporal
or any stuff alike. From the Hibernate documentation I can read:
Because the mapping between Java 8 Date/Time classes and the SQL types is implicit, there is not need to specify the @Temporal annotation. Setting it on the java.time classes throws the following exception:
org.hibernate.AnnotationException: @Temporal should only be set on a java.util.Date or java.util.Calendar property
However, I'm getting an error
In my pom.xml
file I've got:
and since I'm also using Spring Boot, in application.properties
I've got
Am I wrong about documentation? Should I write a Converter or is there any other way?
EDIT
Currently my pom.xml
file looks like this:
and now I'm getting:
bash - PostgreSQL 数据库如何在两个连续的 shell 命令之间停止存在?
我正在尝试accounts_db
在 CI(GitLab CI,如果相关)中创建一个 PostgreSQL 数据库,但前提是该数据库尚不存在。由于本机 Postgres 不支持,我目前通过使用 psql 运行 a SELECT
on来解决它pg_database
,并且只有当它不返回结果时,我才再次使用 psql 运行 a CREATE DATABASE
:
这在大多数情况下都有效:accounts_db
已经存在,因此grep
成功退出并且CREATE DATABASE
不执行。
不过,大多数时候并非总是如此。出于某种原因,它有时会出现在 的第二部分||
,只是因为数据库已经存在而出错:
这怎么可能?
windows - 每次在 Windows 8/10 但不是 7 上调用静态链接函数崩溃
问题 :
我已经构建了生成二进制文件的https://github.com/reorg/pg_repack项目。这个二进制文件与 postgres 9.6 redistributable 相关联(我使用那些由 EntrepriseDb 提供的)。在 Windows 7 上一切正常。在构建期间或运行时我没有问题。但在 Windows 8 或 10 上,应用程序总是会按照以下顺序崩溃。该二进制文件是在 Windows 7 上使用 Visual Studio 2013 从 C 源生成的(我尝试过在 Windows 10 上生成的版本,但它没有改变任何东西),在 x64 系统上,用于 x64 应用程序,优化被禁用和它使用动态基础。为了确保使用正确的二进制文件,我已将所有可再发行二进制文件复制到我的应用程序文件夹中。
Windows 7 上的装配细节(工作案例):
在 main 之后的几行,应用程序调用了函数 set_pglocale_pgservice
内存在 07FF6E4B40520h
(注意:从 0x7FF6E4B40000 到 0x00007FF6E4B40560 内存包含函数地址,mapfile 显示:0002:00000520 __imp_set_pglocale_pgservice postgres:postgres.exe [postgres 可再发行,动态链接])
然后调用qword ptr [__imp_set_pglocale_pgservice(07FF6E4B40520h)]
然后拨打 00000001403F67FA
内存在 1403F8998h
(注意:从 0x00000001403F8000 到 0x00000001403F8F08 内存包含函数地址,mapfile 显示:0002:00000998 ??_C@_04FHBLDJDJ@?1bin?$AA@ libpgport:path.obj [postgres 可再发行,静态链接])
然后跳转到 00007ffe87a5cc60 之后
...一切正常
Windows 10 上的装配细节(非工作案例):
在 main 之后的几行,应用程序调用了函数 set_pglocale_pgservice
内存在 07FF7E9880520h
(注意:从 0x00007FF7E9880000 到 0x00007FF7E9880560 内存包含函数地址,mapfile 显示:0002:00000520 __imp_set_pglocale_pgservice postgres:postgres.exe [postgres 可再发行,动态链接])
然后调用qword ptr [__imp_set_pglocale_pgservice(07FF7E9880520h)]
然后拨打 00000001403F67FA
内存为 1403F8998h (此处应用程序与 Windows 7 不同)
(注意:0x00000001403F8998是函数中间的操作码地址,不是函数地址)
内存在 000000000059e6a2h
然后跳转到 000000000059e6a2 => 崩溃后
Windows 7 上用于加载库的进程监视器详细信息(此处为 libpq.dll):
Windows 10 上的进程监视器详细信息(此处为 libpq.dll)(都与 Windows 7 非常相似,除了库的加载)
注意:我期待类似于 Windows 7 的东西,或者至少类似于:
所以我不知道为什么这个应用程序在 Windows 8 或 10 上有如此奇怪的行为。如果有人有一些解释或想法来修复崩溃,我会很高兴的。如果需要,请不要犹豫,询问一些细节。
postgresql - 将 Postgres 9.6 继承的表迁移到 TimeScaleDB
我们有一个按继承划分的时间序列表。我们现在希望将其迁移到同一数据库中的 TimeScaleDB。文档说要使用 pg_dump/COPY 或 CREATE with LIKE。我们都无法使用继承的表。我们是否应该将所有继承的表 pg_dump/COPY 到 CSV 文件中,连接然后导入?
database - postgres 9.6 - jsonb 和索引 - 性能不佳
在一张表(由 django 模型使用)上,我使用 jsonb 列data
来存储从 web 服务获取的任意数据:
记录> 1M。
然而,尽管有各种索引策略(遵循这篇博文),性能仍然很差:
我尝试在单个 jsonb key 上删除"rawdata_data_idx"
并使用索引,但性能几乎相同:BTree
object_id
对此有何建议?不确定这是此类任务的平均性能。
postgres-9.6 - Postgres reltuples 似乎返回两倍的值
我正在使用此查询来获取大约行数。
SELECT reltuples AS approximate_row_count FROM pg_class WHERE relname = 'table_name';
本文推荐使用此方法来获得快速的近似行数:https ://wiki.postgresql.org/wiki/Count_estimate
但有时它似乎给出了两倍的行数。这仅在升级到9.6.8
. 它曾经一直工作正常。
当我运行时,问题似乎自行解决ANALYZE table_name
。一段时间后,问题又回来了。
我不确定为什么会这样。我该如何解决这个问题?
postgresql - 如何解决 PostgreSQL“中止(核心转储)”错误?
我正在尝试在 Ubuntu 14.04 上安装 postgreSQL-9.6.4。但是当我运行' initdb '来创建数据库集群时,它会显示错误。
当我运行“ initdb ”时,它显示以下错误:
有什么帮助吗?
postgresql - Postgres_FDW 没有推低 WHERE 标准
我正在使用两个 PostgreSQL 9.6 数据库,并尝试使用 postgres_fdw 从另一个数据库中查询一个(一个是具有数据的生产备份数据库,另一个是用于进行各种分析的数据库)。
我遇到了一些奇怪的行为,尽管查询中某些类型的 WHERE 子句没有传递给远程数据库,而是保留在本地数据库中并用于过滤从远程数据库接收到的结果。这导致远程数据库尝试通过网络发送比本地数据库需要更多的信息,并且受影响的查询速度大大降低(15 秒对 15 分钟)。
我经常看到这个与时间戳相关的子句,下面的例子是我第一次遇到这个问题的方式,但我已经在其他几个变体中看到它,例如用 TIMESTAMP 文字(慢)或 TIMESTAMP WITH TIME ZONE 文字替换它(快速地)。
有没有我想念的设置可以帮助解决这个问题?我正在将此设置为一个团队使用混合级别的 SQL 背景,大多数人没有审查 EXPLAIN 计划之类的经验。我想出了一些解决方法(例如将相对时间子句放在子 SELECT 中),但我不断遇到问题的新实例。
一个例子:
解释计划
上面的运行大约需要 15-20 分钟,而下面的在几秒钟内完成。
解释计划
postgresql - Postgres 9.6 - 包含 jsons 数组的复杂查询 jsonb 字段
我的桌子看起来像这样:
我只想获取jsons 数组中特定 json 上具有类别 X且得分高于 Y 的记录
我设法做的就是使用这样的包含:
我希望我可以做一些简单的查询(比如 NoSQL ..)
当我的字段是一个 json 数组时,有什么方法可以做简单但复杂的 where 子句,例如给出的示例?