diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
 # Revision history for beam-automigrate
 
+## 0.1.4.0
+
+* [#52](https://github.com/obsidiansystems/beam-automigrate/pull/52) Support sql arrays
+* Loosen some version bounds
+
 ## 0.1.3.0
 
 * [#47](https://github.com/obsidiansystems/beam-automigrate/pull/47): Generate postgres enum types in schema when using `Nullable PgEnum` values.
diff --git a/README.lhs b/README.lhs
--- a/README.lhs
+++ b/README.lhs
@@ -1,6 +1,6 @@
 beam-automigrate
 ================
-[![Haskell](https://img.shields.io/badge/language-Haskell-orange.svg)](https://haskell.org) [![Hackage](https://img.shields.io/hackage/v/beam-automigrate.svg)](https://hackage.haskell.org/package/beam-automigrate) [![Hackage CI](https://matrix.hackage.haskell.org/api/v2/packages/beam-automigrate/badge)](https://matrix.hackage.haskell.org/#/package/beam-automigrate)   [![Github CI](https://github.com/obsidiansystems/beam-automigrate/workflows/github-action/badge.svg)](https://github.com/obsidiansystems/beam-automigrate/actions) [![BSD3 License](https://img.shields.io/badge/license-BSD3-blue.svg)](https://github.com/obsidiansystems/beam-automigrate/blob/master/LICENSE)
+[![Haskell](https://img.shields.io/badge/language-Haskell-orange.svg)](https://haskell.org) [![Hackage](https://img.shields.io/hackage/v/beam-automigrate.svg)](https://hackage.haskell.org/package/beam-automigrate) [![Github CI](https://github.com/obsidiansystems/beam-automigrate/workflows/github-action/badge.svg)](https://github.com/obsidiansystems/beam-automigrate/actions) [![BSD3 License](https://img.shields.io/badge/license-BSD3-blue.svg)](https://github.com/obsidiansystems/beam-automigrate/blob/master/LICENSE)
 
 Automatic migrations for [beam](https://hackage.haskell.org/package/beam-core) databases!
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 beam-automigrate
 ================
-[![Haskell](https://img.shields.io/badge/language-Haskell-orange.svg)](https://haskell.org) [![Hackage](https://img.shields.io/hackage/v/beam-automigrate.svg)](https://hackage.haskell.org/package/beam-automigrate) [![Hackage CI](https://matrix.hackage.haskell.org/api/v2/packages/beam-automigrate/badge)](https://matrix.hackage.haskell.org/#/package/beam-automigrate)   [![Github CI](https://github.com/obsidiansystems/beam-automigrate/workflows/github-action/badge.svg)](https://github.com/obsidiansystems/beam-automigrate/actions) [![BSD3 License](https://img.shields.io/badge/license-BSD3-blue.svg)](https://github.com/obsidiansystems/beam-automigrate/blob/master/LICENSE)
+[![Haskell](https://img.shields.io/badge/language-Haskell-orange.svg)](https://haskell.org) [![Hackage](https://img.shields.io/hackage/v/beam-automigrate.svg)](https://hackage.haskell.org/package/beam-automigrate) [![Github CI](https://github.com/obsidiansystems/beam-automigrate/workflows/github-action/badge.svg)](https://github.com/obsidiansystems/beam-automigrate/actions) [![BSD3 License](https://img.shields.io/badge/license-BSD3-blue.svg)](https://github.com/obsidiansystems/beam-automigrate/blob/master/LICENSE)
 
 Automatic migrations for [beam](https://hackage.haskell.org/package/beam-core) databases!
 
diff --git a/beam-automigrate.cabal b/beam-automigrate.cabal
--- a/beam-automigrate.cabal
+++ b/beam-automigrate.cabal
@@ -1,5 +1,5 @@
 name:               beam-automigrate
-version:            0.1.3.0
+version:            0.1.4.0
 license-file:       LICENSE
 build-type:         Simple
 cabal-version:      2.0
@@ -42,7 +42,7 @@
   build-depends:
       aeson                 >=1.4.4    && <2.2
     , base                  >=4.9      && <5
-    , beam-core             >=0.9      && <0.10
+    , beam-core             >=0.9      && <0.11
     , beam-postgres         >=0.5      && <0.6
     , bytestring            >=0.10.8.2 && <0.12.0.0
     , containers            >=0.5.9.2  && <0.8.0.0
@@ -125,7 +125,7 @@
     , beam-postgres
     , containers
     , postgresql-simple
-    , postgresql-syntax >= 0.4 && <0.5
+    , postgresql-syntax >= 0.3 && <0.5
     , pretty-simple
     , QuickCheck
     , tasty
diff --git a/src/Database/Beam/AutoMigrate.hs b/src/Database/Beam/AutoMigrate.hs
--- a/src/Database/Beam/AutoMigrate.hs
+++ b/src/Database/Beam/AutoMigrate.hs
@@ -569,6 +569,10 @@
   PgSpecificType (PgEnumeration (EnumerationName ty)) -> ty
   -- oid
   PgSpecificType PgOid -> "oid"
+  -- Arrays
+  SqlArrayType (SqlArrayType _ _) _ -> error "beam-automigrate: invalid nested array."
+  SqlArrayType _ 0 -> error "beam-automigrate: array with zero dimensions"
+  SqlArrayType t d -> renderDataType t <> mconcat (replicate (fromIntegral d) "[]")
 
 evalMigration :: Monad m => Migration m -> m (Either MigrationError [WithPriority Edit])
 evalMigration m = do
diff --git a/src/Database/Beam/AutoMigrate/Compat.hs b/src/Database/Beam/AutoMigrate/Compat.hs
--- a/src/Database/Beam/AutoMigrate/Compat.hs
+++ b/src/Database/Beam/AutoMigrate/Compat.hs
@@ -20,6 +20,7 @@
 import Data.Time.Calendar (Day)
 import Data.Typeable
 import Data.UUID
+import Data.Vector (Vector)
 import Data.Word
 import qualified Database.Beam as Beam
 import Database.Beam.AutoMigrate.Types
@@ -244,6 +245,15 @@
 
 instance HasColumnType (Pg.PgRange Pg.PgDateRange a) where
   defaultColumnType _ = PgSpecificType PgRangeDate
+
+--
+-- support for arrays
+--
+
+instance HasColumnType a => HasColumnType (Vector a) where
+  defaultColumnType _ = case defaultColumnType (Proxy @a) of
+    SqlArrayType t d -> SqlArrayType t (d + 1)
+    t -> SqlArrayType t 1
 
 --
 -- Support for 'SqlSerial'. \"SERIAL\" is treated by Postgres as syntactic sugar for:
diff --git a/src/Database/Beam/AutoMigrate/Postgres.hs b/src/Database/Beam/AutoMigrate/Postgres.hs
--- a/src/Database/Beam/AutoMigrate/Postgres.hs
+++ b/src/Database/Beam/AutoMigrate/Postgres.hs
@@ -123,7 +123,7 @@
 tableColumnsQ =
   fromString $
     unlines
-      [ "SELECT attname, atttypid, atttypmod, attnotnull, pg_catalog.format_type(atttypid, atttypmod) ",
+      [ "SELECT attname, atttypid, atttypmod, attndims, attnotnull, pg_catalog.format_type(atttypid, atttypmod) ",
         "FROM pg_catalog.pg_attribute att ",
         "WHERE att.attrelid=? AND att.attnum>0 AND att.attisdropped='f' "
       ]
@@ -249,9 +249,9 @@
       Map Pg.Oid (EnumerationName, Enumeration) ->
       AllDefaults ->
       Columns ->
-      (ByteString, Pg.Oid, Int, Bool, ByteString) ->
+      (ByteString, Pg.Oid, Int, Int, Bool, ByteString) ->
       IO Columns
-    getColumns tName enumData defaultData c (attname, atttypid, atttypmod, attnotnull, format_type) = do
+    getColumns tName enumData defaultData c (attname, atttypid, atttypmod, attndims, attnotnull, format_type) = do
       -- /NOTA BENE(adn)/: The atttypmod - 4 was originally taken from 'beam-migrate'
       -- (see: https://github.com/tathougies/beam/blob/d87120b58373df53f075d92ce12037a98ca709ab/beam-postgres/Database/Beam/Postgres/Migrate.hs#L343)
       -- but there are cases where this is not correct, for example in the case of bitstrings.
@@ -272,7 +272,8 @@
       case asum
         [ pgSerialTyColumnType atttypid mbDefault,
           pgTypeToColumnType atttypid mbPrecision,
-          pgEnumTypeToColumnType enumData atttypid
+          pgEnumTypeToColumnType enumData atttypid,
+          pgArrayTypeToColumnType atttypid mbPrecision attndims
         ] of
         Just cType -> do
           let nullConstraint = if attnotnull then S.fromList [NotNull] else mempty
@@ -377,6 +378,13 @@
     Just (PgSpecificType PgOid)
   | otherwise =
     Nothing
+
+pgArrayTypeToColumnType :: Pg.Oid -> Maybe Int -> Int -> Maybe ColumnType
+pgArrayTypeToColumnType oid width dims = case Pg.staticTypeInfo oid of
+  Just (Pg.Array _ _ _ _ subTypeInfo) -> case pgTypeToColumnType (Pg.typoid subTypeInfo) width of
+    Just columnType -> Just $ SqlArrayType columnType (fromIntegral dims)
+    _ -> Nothing
+  _ -> Nothing
 
 --
 -- Constraints discovery
diff --git a/src/Database/Beam/AutoMigrate/Types.hs b/src/Database/Beam/AutoMigrate/Types.hs
--- a/src/Database/Beam/AutoMigrate/Types.hs
+++ b/src/Database/Beam/AutoMigrate/Types.hs
@@ -141,6 +141,8 @@
     PgSpecificType PgDataType
   | -- | An enumeration implemented with text-based encoding.
     DbEnumeration EnumerationName Enumeration
+  | -- | Array type.
+    SqlArrayType ColumnType Word
   deriving (Show, Eq, Generic)
 
 data PgDataType
