Try refactor of post tags
Instead of storing an array of tags in hive_posts, create an auxiliary table like with post_id, tag_id columns and a primary key on post_id, plus an index on btree(tag, post_id desc). For example, for a post id 100 with two tags 5, 10:
100,5
100,10
According to postgres docs (and common sense), search by tag should be faster this way: https://www.postgresql.org/docs/current/arrays.html
Edited by Dan Notestein