Actually, Postgres has had an Array data type since at least v8.0. http://www.postgresql.org/docs/8.0/static/arrays.html
But yes, you're right that maps require a join table.
But yes, you're right that maps require a join table.
Not in postgres: http://www.postgresql.org/docs/9.1/static/hstore.html