diff --git a/res/res_config_pgsql.c b/res/res_config_pgsql.c
index 81c165bfda155a88741039461b7b23e340a54d67..dbcd9e77b6507cb06d5c6becae466a7934e9b48e 100644
--- a/res/res_config_pgsql.c
+++ b/res/res_config_pgsql.c
@@ -1234,8 +1234,8 @@ static int require_pgsql(const char *database, const char *tablename, va_list ap
 		AST_LIST_TRAVERSE(&table->columns, column, list) {
 			if (strcmp(column->name, elm) == 0) {
 				/* Char can hold anything, as long as it is large enough */
-				if ((strncmp(column->type, "char", 4) == 0 || strncmp(column->type, "varchar", 7) == 0 || strcmp(column->type, "bpchar") == 0)) {
-					if ((size > column->len) && column->len != -1) {
+				if ((strncmp(column->type, "char", 4) == 0 || strncmp(column->type, "varchar", 7) == 0 || strcmp(column->type, "bpchar") == 0 || strncmp(column->type, "text", 4) == 0)) {
+					if (column->len != -1 && (size > column->len)) {
 						ast_log(LOG_WARNING, "Column '%s' should be at least %d long, but is only %d long.\n", column->name, size, column->len);
 						res = -1;
 					}