För att förstå flerdimensionella PostgreSQL-arraytyper överväg följande citat från manualen:
Den nuvarande implementeringen upprätthåller inte heller det deklarerade antalet dimensioner. Matriser av en viss elementtyp anses alla vara av samma typ, oavsett storlek eller antal dimensioner. Så, deklarera matrisstorleken eller antalet dimensioner i
CREATE TABLE
är helt enkelt dokumentation; det påverkar inte körtidsbeteendet.
Internt, typerna text[]
, text[][]
är samma som PostgreSQL. Om kolumnen innehåller faktiskt 2-dimensionella textmatriser, du måste matcha dimensionerna i Java. Men det kan också innehålla 1- eller 3-dimensionella arrayer. PostgreSQL skulle tillåta det.
Observera också att text
och character varying
(varchar
) är olika datatyper i PostgreSQL (samtidigt som i stort sett gör samma sak när varchar
har ingen längdmodifierare). Börja med att läsa om teckentyper i manualen.