It does have arrays, but they aren't first class to the same extent as MongoDB.
* A Postgres Array can end up being stored elsewhere, whereas in MongoDB an array will be contained within the document
* I am also not clear on what exactly can be stuck inside an array (In MongoDB it can be an object that contains more arrays) while maintaining first-class access and updates.
I would love to find more detailed information on these points, but with jsonb they may be moot now.
I will look into the increment issue in PostgreSQL more carefully. I just know that it wasn't feasible in MySQL when I was using it.
"stored elsewhere" doesn't make sense to me. Arrays are part of the tuple as much as any other attribute type.
You can store anything in an array that you can store as an attribute of a row. There may be some edge cases I don't know about, but generally anything that can be a column can be an array element.
* A Postgres Array can end up being stored elsewhere, whereas in MongoDB an array will be contained within the document
* I am also not clear on what exactly can be stuck inside an array (In MongoDB it can be an object that contains more arrays) while maintaining first-class access and updates.
I would love to find more detailed information on these points, but with jsonb they may be moot now.
I will look into the increment issue in PostgreSQL more carefully. I just know that it wasn't feasible in MySQL when I was using it.