The result of the concatenation operation is a new 1-D ARRAY value of the same type as the data type of the two arguments, where all of the elements present in array_expr1 are followed by all the elements that are present in array_expr2. Elements that are present include NULL elements, but do not include elements that are in an uninitialized state.
Since the result value and the argument values are of the same 1-D ARRAY type, they have the same maximum size n. Therefore, if the number of elements that results from the concatenation of array_expr1 and array_expr2 is greater than the maximum size n of the defined 1-D ARRAY type, the operation will abort with an error.
If either argument is NULL, the result of the operation is NULL.