Why are there different types of arrays in postgreSQL? <p>I have this query <code>select array_agg(id) as idtag FROM POdelivery_a where ....</code></p> <p>It gives me <code>id</code> in array: <code>{26053,26021,26055}</code> I use it later in other queries...</p> <p>for the question assume I use it like this:</p> <pre><code>select * from a where id in {26053,26021,26055} </code></pre> <p>it gives me an error:</p> <blockquote> <p>ERROR: syntax error at or near "{"</p> </blockquote> <p>it will accept the query as:</p> <pre><code>select * from a where d in (26053,26021,26055) </code></pre> <p>So why <code>array_agg(id)</code> returns me an array that I can not work with? I always need to do conversions...</p> <p>is there a way that <code>array_agg(id)</code> will return the result as <code>(26053,26021,26055)</code> not as <code>{26053,26021,26055}</code>?</p> <p>Why does PostgreSQL works with many kinds of arrays?</p>