PostgreSQL suggests to use either text of unlimited varchar for columns without specific higher limit:
If you desire to store long strings with no specific upper limit, use text or character varying without a length specifier, rather than making up an arbitrary length limit.
Are those data types in PostgreSQL exactly the same? It seems from the documentation like they behave exactly the same. If that's true, then why have two different data types for the same thing?
I tried looking for clarifications from the documentation, but it still stayed unclear for me.