例如,我试图设置一个变量,cmd = "echo 25"但它不起作用
{% set cmd = "echo {{ id }}" %}
Run Code Online (Sandbox Code Playgroud)
请帮忙修复它。
根据saltstack文档,它是"json":https://docs.saltstack.com/en/latest/ref/renderers/all/salt.renderers.jinja.html
但是在jinja doc http://jinja.pocoo.org/docs/2.9/templates/#builtin-filters中 - 没有"json",而是"tojson".
有人知道为什么吗?
我在比较9.1.9/9.3.6和9.4.1.我认为9.4.1的性能应该更好或至少不会更差.但我在这里有一个问题.我已经在同一台机器上安装了两个db,恢复了相同的转储,使用了ANALYZE,我有2个结果,我看到由于某种原因9.1.9工作得更快 - 118ms vs 452ms.我使用EXPLAIN ANALYZE检查了相同的sql查询(使用相同的work_mem = 8MB和shared_buffers = 128MB).
1)9.1.9
QUERY PLAN
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Limit (cost=6929.93..6929.94 rows=1 width=10) (actual time=99.175..99.178 rows=25 loops=1)
-> Sort (cost=6929.93..6929.94 rows=1 width=10) (actual time=99.175..99.175 rows=25 loops=1)
Sort Key: (CASE WHEN (p.f_without_price = 1) THEN 0::double precision ELSE p1.price END)
Sort Method: top-N heapsort Memory: 26kB
-> Nested Loop Anti Join (cost=133.65..6929.92 rows=1 width=10) (actual time=0.345..97.884 rows=4876 loops=1)
Join Filter: ((p2.price < p1.price) OR ((p2.price = p1.price) AND (p2.id < p1.id)))
-> Nested Loop Left Join …Run Code Online (Sandbox Code Playgroud) 如果没有引用参数,为什么它找不到行?
CREATE TABLE test (id integer, value real);
INSERT INTO test VALUES (1, 0.1);
Run Code Online (Sandbox Code Playgroud)
不起作用:
SELECT * FROM test where value = 0.1;
id | value
----+-------
(0 rows)
Run Code Online (Sandbox Code Playgroud)
作品!
SELECT * FROM test where value = '0.1';
id | value
----+-------
1 | 0.1
(1 row)
Run Code Online (Sandbox Code Playgroud)