added ability to parse extension to parse_comment inside postgres dialect (#1451)

diff --git a/src/ast/mod.rs b/src/ast/mod.rs
index 57cd401..8c4bc25 100644
--- a/src/ast/mod.rs
+++ b/src/ast/mod.rs
@@ -1855,6 +1855,7 @@
 pub enum CommentObject {
     Column,
     Table,
+    Extension,
 }
 
 impl fmt::Display for CommentObject {
@@ -1862,6 +1863,7 @@
         match self {
             CommentObject::Column => f.write_str("COLUMN"),
             CommentObject::Table => f.write_str("TABLE"),
+            CommentObject::Extension => f.write_str("EXTENSION"),
         }
     }
 }
diff --git a/src/dialect/postgresql.rs b/src/dialect/postgresql.rs
index 945c4fc..2a66705 100644
--- a/src/dialect/postgresql.rs
+++ b/src/dialect/postgresql.rs
@@ -205,6 +205,10 @@
             let object_name = parser.parse_object_name(false)?;
             (CommentObject::Table, object_name)
         }
+        Token::Word(w) if w.keyword == Keyword::EXTENSION => {
+            let object_name = parser.parse_object_name(false)?;
+            (CommentObject::Extension, object_name)
+        }
         _ => parser.expected("comment object_type", token)?,
     };
 
diff --git a/tests/sqlparser_postgres.rs b/tests/sqlparser_postgres.rs
index 9ba3e5d..735b87b 100644
--- a/tests/sqlparser_postgres.rs
+++ b/tests/sqlparser_postgres.rs
@@ -2902,6 +2902,21 @@
         _ => unreachable!(),
     }
 
+    match pg().verified_stmt("COMMENT ON EXTENSION plpgsql IS 'comment'") {
+        Statement::Comment {
+            object_type,
+            object_name,
+            comment: Some(comment),
+            if_exists,
+        } => {
+            assert_eq!("comment", comment);
+            assert_eq!("plpgsql", object_name.to_string());
+            assert_eq!(CommentObject::Extension, object_type);
+            assert!(!if_exists);
+        }
+        _ => unreachable!(),
+    }
+
     match pg().verified_stmt("COMMENT ON TABLE public.tab IS 'comment'") {
         Statement::Comment {
             object_type,