Nesse caso você se engana muito. Num exemplo real, apagar os planos passados seria um erro, você tem que pensar várias vezes antes de apagar de vez um registro. O ideal seria mesmo criar novos planos com status de disponibilidade diferente. Nesse exemplo, como você teria controle de exatamente quais planos existem e ainda estão ativos pra alguns usuários? A integridade do SQL vale a pena cada dor de cabeça, pelo menos na minha experiência
Respondendo a "Por que ser contra NoSQL? O NoSQL faz coisas qu..." dentro da publicação Você só precisa do Postgres.
1