我想了解重命名命令的安全性:
ALTER INDEX old_name RENAME TO old_name;
Run Code Online (Sandbox Code Playgroud)
索引是由命令创建的(对于外键列):
CREATE INDEX old_name ON table_t1 (user_id);
Run Code Online (Sandbox Code Playgroud)
这是否意味着 postgres 系统表中的简单更新或执行更多操作。我试图在文档中找到它,但没有成功。
我阅读了有关postgres bloom的文档,但无法重现相同的结果,请帮助我了解我错过了什么。我的服务器是:
SHOW server_version;
server_version
-------------------------------
10.6 (Debian 10.6-1.pgdg90+1)
dev=# show random_page_cost;
random_page_cost
------------------
4
Run Code Online (Sandbox Code Playgroud)
首先使用与文档中相同的命令创建表:
dev=# CREATE TABLE tbloom AS
SELECT
(random() * 1000000)::int as i1,
(random() * 1000000)::int as i2,
(random() * 1000000)::int as i3,
(random() * 1000000)::int as i4,
(random() * 1000000)::int as i5,
(random() * 1000000)::int as i6
FROM
generate_series(1,10000000);
Run Code Online (Sandbox Code Playgroud)
接下来我创建 btree 索引
dev=# CREATE index btreeidx ON tbloom (i1, i2, i3, i4, i5, i6);
CREATE INDEX
Run Code Online (Sandbox Code Playgroud)
并获得下一个计划:
dev=# EXPLAIN ANALYZE SELECT * FROM …Run Code Online (Sandbox Code Playgroud)