可以。psqlrc
是否配置为将jsonb_pretty
应用于打印到控制台的每个jsonb列?
扩展显示自动模式非常有用:https://stackoverflow.com/a/16108898/1007926
我想使用jsonb_pretty
和扩展显示。jsonb_pretty
通过在字符串中插入新行来工作吗?我想,如果应用于每个JSONBselect
,这会导致问题。
jsonb_pretty
:https://www.postgresql.org/docs/current/functions-json.html#FUNCTIONS-JSON-PROCESSING-TABLE
只有psql,我想@Pavel_Stehule是对的(所以不是)。
使用SQLTT,您可以使用钩子破解它。
示例:
// users.sql.js
const sqltt = require("sqltt");
const getUserData = new sqltt({
hooks: {
// Prettier formatting on CLI output:
user_profile: (arg, eng) => eng.match(/(^|_)cli$/) && "jsonb_pretty("+arg+") as "+arg,
},
sql: $=>$`
select id, name, ${$.literal("user_profile")}
from users
where id = ${"userId"}
`,
});
sqltt.publish(module, {getUserData});
然后你就可以...
安装sqltt:
user@host:~/sqltttest$ npm install sqltt
(...)
在文件中列出可用查询:
user@host:~/sqltttest$ node user.sql.js
Available queries:
✓ getUserData: (Undocumented)
获取合适的psql查询(已插入参数):
user@host:~/sqltttest$ node user.sql.js getUserData 'John Smith'
\set userId '''John Smith'''
select id, name, jsonb_pretty(user_profile) as user_profile
from users
where id = :userId
...通过管道将其直接连接到psql:
user@host:~/sqltttest$ node user.sql.js getUserData 'John Smith' | psql myDatabase
\set userId '''John Smith'''
select id, name, jsonb_pretty(user_profile) as user_profile
from users
where id = :userId
从节点使用它。js项目:
const {getUserData, ...otherSQL} = require("./user.sql.js");
const sql = getUserData.sql();
// select id, name, user_profile
// from users
// where id = $1
获取非cli sql以与其他语言一起使用:
user@host:~/sqltttest$ node user.sql.js --engine=_nocli getUserData
select id, name, user_profile
from users
where id = $1
...当然,还可以将其存储在普通sql文件中:
user@host:~/sqltttest$ node user.sql.js --engine=_nocli getUserData > getUserData.sql
不,这是不可能的psql
不支持JSON类型的漂亮打印。
我有下面的Postgres查询,当通过psql客户端运行时可以很好地工作- 然而,当我通过创建org.hibernate.query对象来运行查询时,我得到了一个类似于这样的异常- psqlexception:错误:运算符不存在:jsonb@>字符变化提示:没有与给定名称和参数类型匹配的运算符。您可能需要添加显式类型转换。职位:144 请帮帮忙。我读了以下关于创建一个新类型的帖子,并且Hibern
问题内容: 我试图简单地在ConcurrentHashMap中打印所有键/值对。 我在网上发现了我认为可以做到的代码,但似乎正在获取有关存储桶/哈希码的信息。老实说,实际上输出的结果很奇怪,可能是我的程序不正确,但是我首先要确保这部分是我要使用的部分。 这给出了大约10个不同键的输出,计数似乎是映射中总插入次数的总和。 问题答案: 我测试了您的代码并正常工作。我添加了一个小演示,它用另一种方式打印
问题内容: 我需要能够在数组列表中打印出Student对象(所有变量)。这可能吗?当我尝试打印时,它会输出此类内容。我认为是这样 这是我的代码: 问题答案: 类中的重写方法如下:
我们可以用这里所述的算法求有向图中的圈数。我需要理解算法。 (1)最后那句话到底有什么用处?对algo的工作原理进行简短的描述会很有帮助。由于算法基本上是统计从一个节点返回到同一节点的周期数,所以我们可以使用另一个数组,称之为v,并做以下技巧: (2)我不能实现我刚才写的算法。这是主要的问题,但我认为我需要理解上面的(1)来理解打印所有循环的代码。 我了解到互联网上有算法,我正在尝试使用这个算法。
问题内容: 对于Python中的类,如何定义一个函数以函数中定义的格式打印类的每个实例? 问题答案: 在这种情况下,我看到两个选择: 垃圾收集器 这样做的缺点是,当您有很多对象时,它会非常慢,但会与您无法控制的类型一起使用。 使用mixin和weakrefs 在这种情况下,所有引用都将作为弱引用存储在列表中。如果您经常创建和删除很多实例,则应在迭代后清理弱引用列表,否则会产生很多麻烦。 这种情况下
我需要能够打印出数组列表中的学生对象(所有变量)。这可能吗?当我尝试打印时,它会输出类似的内容,例如。我想是十六进制之类的 这是我的代码: