This discussion might be useful re: indexing JSONb columns and a comparison of performance (a bit out of date, things have probably improved even further);
The GIN index is an inverted index, if you're expecting to query against several keys; alternatively if you have a large keyspace and no need to query outside a small number of properties, you could create individual hash or btree indexes for each one.
Postgres is good for this usecase, but as always, YMMV, consider alternatives/optimizations if your scale or write-volume dictate otherwise (e.g. sharding, Citusdb etc.)
Would you recommend using Postgres for this usecase?