diff --git a/contrib/hstore/hstore_io.c b/contrib/hstore/hstore_io.c
index e01cb4e7599fe57401bf9586336a11875b23d27a..ac5df492239d197904453a603c2b7c285fa258df 100644
--- a/contrib/hstore/hstore_io.c
+++ b/contrib/hstore/hstore_io.c
@@ -143,7 +143,7 @@ get_val(HSParser * state, bool ignoreeq, bool *escaped)
 			st = GV_INESCVAL;
 		}
 		else
-			elog(ERROR, "Unknown state %d at postion line %d in file '%s'", st, __LINE__, __FILE__);
+			elog(ERROR, "Unknown state %d at position line %d in file '%s'", st, __LINE__, __FILE__);
 
 		state->ptr++;
 	}
@@ -195,11 +195,11 @@ parse_hstore(HSParser * state)
 			}
 			else if (*(state->ptr) == '\0')
 			{
-				elog(ERROR, "Unexpectd end of string");
+				elog(ERROR, "Unexpected end of string");
 			}
 			else if (!isspace((unsigned char) *(state->ptr)))
 			{
-				elog(ERROR, "Syntax error near '%c' at postion %d", *(state->ptr), (int4) (state->ptr - state->begin));
+				elog(ERROR, "Syntax error near '%c' at position %d", *(state->ptr), (int4) (state->ptr - state->begin));
 			}
 		}
 		else if (st == WGT)
@@ -210,11 +210,11 @@ parse_hstore(HSParser * state)
 			}
 			else if (*(state->ptr) == '\0')
 			{
-				elog(ERROR, "Unexpectd end of string");
+				elog(ERROR, "Unexpected end of string");
 			}
 			else
 			{
-				elog(ERROR, "Syntax error near '%c' at postion %d", *(state->ptr), (int4) (state->ptr - state->begin));
+				elog(ERROR, "Syntax error near '%c' at position %d", *(state->ptr), (int4) (state->ptr - state->begin));
 			}
 		}
 		else if (st == WVAL)
@@ -247,7 +247,7 @@ parse_hstore(HSParser * state)
 			}
 			else if (!isspace((unsigned char) *(state->ptr)))
 			{
-				elog(ERROR, "Syntax error near '%c' at postion %d", *(state->ptr), (int4) (state->ptr - state->begin));
+				elog(ERROR, "Syntax error near '%c' at position %d", *(state->ptr), (int4) (state->ptr - state->begin));
 			}
 		}
 		else
@@ -271,7 +271,7 @@ comparePairs(const void *a, const void *b)
 		if (res)
 			return res;
 
-		/* guarantee that neddfree willl be later */
+		/* guarantee that needfree will be later */
 		if (((Pairs *) b)->needfree == ((Pairs *) a)->needfree)
 			return 0;
 		else if (((Pairs *) a)->needfree)
diff --git a/contrib/hstore/hstore_op.c b/contrib/hstore/hstore_op.c
index 971e93cf314c77ced41b12794eb71cc9ae99cf1a..915436c3d1a1e2331058aa228ab45306966f93c8 100644
--- a/contrib/hstore/hstore_op.c
+++ b/contrib/hstore/hstore_op.c
@@ -112,7 +112,7 @@ delete(PG_FUNCTION_ARGS)
 			   *ed;
 
 	out->len = hs->len;
-	out->size = hs->size;		/* temprorary! */
+	out->size = hs->size;		/* temporary! */
 
 	ptrs = STRPTR(hs);
 	es = ARRPTR(hs);