マルチテナントを実現するミドルウェア
Rubyにはapartmentというgemがある。ただしこれは規模が大きくなると扱いが困難になる。
PostgreSQLの拡張でpg_shardがあって、今はCitusと名前を変えて存続している。これならapartmentより賢くマルチテナントしてくれるが、マネージドサービスで対応しているところがCitus Cloudだけ(?)に限定されてしまう。個人的には、Citus Cloudに依存するのは長期的に不安が残るなと思うけれど、SmartHRはapartmentを使い続けるわけにもいかなかったのだろうから仕方ないか。
PostgreSQL 9.5以降ならRow Level Securityが利用できる。