问题标签 [postgresql-9.3]
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.
character-encoding - 创建/恢复数据库的 Postgres 编码问题
我正在尝试从我的客户以前的软件供应商(不再出现在图片中)给我的备份中创建一个 Postgres 数据库。但我正在努力解决编码问题。我对 Postgres 不太熟悉(MySQL 是我的事),所以请原谅我的 n00bness。
当我运行时psql dbname < /path/to/file.backup
,它会吐出以invalid command
问号和奇怪字符字符串开头和结尾的各种行,最后一行输出是:
我在终端中打开了备份文件,我看到许多 SQL 字符串散布着不可打印的字符(表示为“^@”)。顶部有一些字符串我认为可能与此处相关:
所以看起来数据库使用的是UTF8编码,但软件供应商的开发机器使用的是WIN1252。我猜备份文件中的字符串在WIN1252中?
我怎样才能导入这个数据库?作为参考,我的开发机器正在运行 Mac OSX。
postgresql - 为什么 postgres_fdw 是双重限定模式?
使用 postgres_fdw,我需要在指定的模式中创建外部表以防止名称冲突。为了隔离我遇到的问题,我在同一个集群上设置了两个测试 postgres 数据库,import_test 和 export_test。Export_test 有一个表 foreign_schema.aa。在服务器 import_test 上,完成其他 FDW 先决条件后,我运行:
然后:
当我这样做时,我得到:
如果我不做任何模式限定,如:
并将 aa 表移动到公共模式,选择工作得很好。
如果命令 "SELECT id, dat FROM local_schema."foreign_schema.aa" 确实在远程服务器上运行,那么它为什么不起作用很明显:local_schema."foreign_schema.aa" 在远程服务器上确实不存在. 出于某种原因,postgres_fdw 似乎在为 table_name 提供的名称前面加上外部表的模式。
我需要在选择查询中指定架构,因为如果我不这样做,它就看不到外部表。通过在选择之前设置搜索路径来实现模式限定也无济于事。
有什么我做错了吗?如果没有,是否有一种解决方法可以让我对外部表进行模式限定?
编辑:根据@Craig Ringer 的建议,这是独立的 psql 输入:
这产生了这个输出:
json - PostgreSQL 中的 #> 和 ->> 运算符有什么区别?
我们可以使用->
and->>
运算符访问 PostgreSQL 9.3 中的任何 JSON 元素。在我看来,#>
with#>>
只提供了一种较短的 JSON 路径编写形式。还是运营商背后有更大的图景#>
?它是否有特殊用途/比箭头符号有任何优势?哪一种是编写路径的首选方法?
这一切都涉及到一个问题:为什么我应该使用#>
and#>>
运算符而不是->
and ->>
?
文档对此有点神秘。
下面的两个查询都给出相同的结果:
json - 在 PostgreSQL 中创建约束时,有没有办法解决 JSON 数组的所有元素?
PostgreSQL 是否提供任何符号/方法来对JSON 数组的每个元素施加约束?
一个例子:
我可以轻松地在字段上添加约束order_id
:
现在我需要对product_id
. 我可以对单个数组项施加约束:
所以很明显我正在寻找的是某种用于匹配任何 JSON 数组元素的通配符运算符:
我知道这可以通过将产品提取到products
具有外键的单独表中来完成orders
。但我想知道这是否可以在单个 JSON 列中实现,因此在设计数据库模式时可以牢记这一点。
sonar-runner - Sonar-runner 异常原因:未知数据库状态:FRESH_INSTALL
我在不同的服务器上运行 Sonarqube4.0 和 PostgreSQL9.3 数据库以及 sonarqube-runner2.3。
Sonarqube 和 Postgresql 数据库之间的连接很好,因为我可以访问控制台 http://[sonar-host]:9000,登录更改密码并进行所有活动。我还可以在数据库中看到在我的架构下创建的表
我遇到的问题是声纳跑步者。当我从源目录运行 sonar-runner 时,出现以下异常:
我知道堆栈溢出有类似的帖子,但是所有属性文件都有正确的 URL 用户名和密码
声纳-project.properties:
声纳属性:
pg_hba.conf 具有每个服务器和用户的条目
当我运行 sonar-runner 时,我还在 postgres 日志中收到一些错误,如下所示:
首先,我可以在 sonarqubesit 模式下看到数据库中的 schema_migartions 表。其次,我不知道它为什么要尝试使用 schema_migrations?因为我没有迁移到不同的架构?
谁能帮我解决这个问题。我假设这与声纳运行器属性中定义模式的方式有关,但我看不到任何明显的东西。
sql - 在 Postgres (sql) 中使用 CHECK 约束验证 json 字符串
我有一个具有以下架构的表:
phone_info 列的示例 json 数据如下所示。
现在我需要在 phone_info 列上添加一个检查约束,以便“STATUS”的所有键,即(1010101010,2020202020)应该作为 phone_info 列的(键,值)对存在,其中值将是“OK”。因此,上面的示例数据将满足检查约束,因为 phone_info 列中存在以下键值对。
我尝试了以下解决方案,但这没有奏效,因为检查约束不支持 array_agg 函数。
有人可以帮我吗,我可以编写一个 SQL 函数并在检查约束中使用该函数吗?
postgresql - 模式中的postgresql序列nextval
我在模式内有一个关于 postgresql 9.3 的序列。
我可以做这个:
但这不起作用:
怎么了 ?
它说不存在关系foo.sq_id
,但它存在。
sql - 在 Postgres 9.3 中聚合 JSON 字段
我有一个名为 info 的 JSON 列,其中包含以下值:
我需要一个 SQL 查询来获得这种格式的输出:
其中第二个值表示计数。
我设法做的是提取第一个值和计数:
哪个输出:
python-2.7 - Postgres 从 CSV 表中复制选择行
这是我在 stackoverflow 上的第一篇文章。你的论坛非常有帮助,因为我在过去 6 个月里一直在学习 Python 和 Postgres,我还不需要发布。但是这个任务让我很头疼,我想我需要开始赚取声望点:
我正在创建一个 python 脚本,用于每天将数据备份到 SQL 数据库中。我有一个包含整月每小时数据的 CSV 文件,但我只想从文件中选择一天的数据并将这些选择的行复制到我的数据库中。我是否能够查询 CSV 表并将查询结果附加到我的数据库中?例如:
此代码和其他变体不起作用 - 我不断收到语法错误。谁能帮我完成这项任务?谢谢!!
sql - 在postgresql中将行转换为字符串
表名是t1
。字段名称是name1
。name1 有这样的价值
但我想得到这样的结果
所以我尝试这样
但它的回归
如何得到我想要的结果?
我正在使用Postgresql 9.3