diff --git a/src/backend/catalog/Makefile b/src/backend/catalog/Makefile
index a51153236a..460c6afa66 100644
--- a/src/backend/catalog/Makefile
+++ b/src/backend/catalog/Makefile
@@ -68,7 +68,7 @@ CATALOG_HEADERS := \
 	pg_foreign_table.h pg_policy.h pg_replication_origin.h \
 	pg_default_acl.h pg_init_privs.h pg_seclabel.h pg_shseclabel.h \
 	pg_collation.h pg_partitioned_table.h pg_range.h pg_transform.h \
-	pg_sequence.h pg_publication.h pg_publication_rel.h pg_subscription.h \
+	pg_sequence.h pg_publication.h pg_publication_rel.h pg_sub.h \
 	pg_subscription_rel.h
 
 GENERATED_HEADERS := $(CATALOG_HEADERS:%.h=%_d.h) schemapg.h
diff --git a/src/backend/catalog/aclchk.c b/src/backend/catalog/aclchk.c
index ea5666ebb8..75d5773672 100644
--- a/src/backend/catalog/aclchk.c
+++ b/src/backend/catalog/aclchk.c
@@ -50,7 +50,7 @@
 #include "catalog/pg_opfamily.h"
 #include "catalog/pg_proc.h"
 #include "catalog/pg_statistic_ext.h"
-#include "catalog/pg_subscription.h"
+#include "catalog/pg_sub.h"
 #include "catalog/pg_tablespace.h"
 #include "catalog/pg_transform.h"
 #include "catalog/pg_ts_config.h"
diff --git a/src/backend/catalog/catalog.c b/src/backend/catalog/catalog.c
index 6b104695c0..3022b2b029 100644
--- a/src/backend/catalog/catalog.c
+++ b/src/backend/catalog/catalog.c
@@ -38,7 +38,7 @@
 #include "catalog/pg_shdepend.h"
 #include "catalog/pg_shdescription.h"
 #include "catalog/pg_shseclabel.h"
-#include "catalog/pg_subscription.h"
+#include "catalog/pg_sub.h"
 #include "catalog/pg_tablespace.h"
 #include "catalog/pg_type.h"
 #include "catalog/toasting.h"
diff --git a/src/backend/catalog/dependency.c b/src/backend/catalog/dependency.c
index d07bb4496e..2eab802176 100644
--- a/src/backend/catalog/dependency.c
+++ b/src/backend/catalog/dependency.c
@@ -51,7 +51,7 @@
 #include "catalog/pg_publication_rel.h"
 #include "catalog/pg_rewrite.h"
 #include "catalog/pg_statistic_ext.h"
-#include "catalog/pg_subscription.h"
+#include "catalog/pg_sub.h"
 #include "catalog/pg_tablespace.h"
 #include "catalog/pg_transform.h"
 #include "catalog/pg_trigger.h"
diff --git a/src/backend/catalog/information_schema.sql b/src/backend/catalog/information_schema.sql
index 5d64791c5d..46f2466aed 100644
--- a/src/backend/catalog/information_schema.sql
+++ b/src/backend/catalog/information_schema.sql
@@ -42,7 +42,7 @@ SET search_path TO information_schema;
 /* Expand any 1-D array into a set with integers 1..N */
 CREATE FUNCTION _pg_expandarray(IN anyarray, OUT x anyelement, OUT n int)
     RETURNS SETOF RECORD
-    LANGUAGE sql STRICT IMMUTABLE PARALLEL SAFE
+    LANGUAGE pgsql STRICT IMMUTABLE PARALLEL SAFE
     AS 'select $1[s], s - pg_catalog.array_lower($1,1) + 1
         from pg_catalog.generate_series(pg_catalog.array_lower($1,1),
                                         pg_catalog.array_upper($1,1),
@@ -51,7 +51,7 @@ CREATE FUNCTION _pg_expandarray(IN anyarray, OUT x anyelement, OUT n int)
 /* Given an index's OID and an underlying-table column number, return the
  * column's position in the index (NULL if not there) */
 CREATE FUNCTION _pg_index_position(oid, smallint) RETURNS int
-    LANGUAGE sql STRICT STABLE
+    LANGUAGE pgsql STRICT STABLE
     AS $$
 SELECT (ss.a).n FROM
   (SELECT information_schema._pg_expandarray(indkey) AS a
@@ -60,7 +60,7 @@ SELECT (ss.a).n FROM
 $$;
 
 CREATE FUNCTION _pg_truetypid(pg_attribute, pg_type) RETURNS oid
-    LANGUAGE sql
+    LANGUAGE pgsql
     IMMUTABLE
     PARALLEL SAFE
     RETURNS NULL ON NULL INPUT
@@ -68,7 +68,7 @@ CREATE FUNCTION _pg_truetypid(pg_attribute, pg_type) RETURNS oid
 $$SELECT CASE WHEN $2.typtype = 'd' THEN $2.typbasetype ELSE $1.atttypid END$$;
 
 CREATE FUNCTION _pg_truetypmod(pg_attribute, pg_type) RETURNS int4
-    LANGUAGE sql
+    LANGUAGE pgsql
     IMMUTABLE
     PARALLEL SAFE
     RETURNS NULL ON NULL INPUT
@@ -78,7 +78,7 @@ $$SELECT CASE WHEN $2.typtype = 'd' THEN $2.typtypmod ELSE $1.atttypmod END$$;
 -- these functions encapsulate knowledge about the encoding of typmod:
 
 CREATE FUNCTION _pg_char_max_length(typid oid, typmod int4) RETURNS integer
-    LANGUAGE sql
+    LANGUAGE pgsql
     IMMUTABLE
     PARALLEL SAFE
     RETURNS NULL ON NULL INPUT
@@ -94,7 +94,7 @@ $$SELECT
   END$$;
 
 CREATE FUNCTION _pg_char_octet_length(typid oid, typmod int4) RETURNS integer
-    LANGUAGE sql
+    LANGUAGE pgsql
     IMMUTABLE
     PARALLEL SAFE
     RETURNS NULL ON NULL INPUT
@@ -110,7 +110,7 @@ $$SELECT
   END$$;
 
 CREATE FUNCTION _pg_numeric_precision(typid oid, typmod int4) RETURNS integer
-    LANGUAGE sql
+    LANGUAGE pgsql
     IMMUTABLE
     PARALLEL SAFE
     RETURNS NULL ON NULL INPUT
@@ -131,7 +131,7 @@ $$SELECT
   END$$;
 
 CREATE FUNCTION _pg_numeric_precision_radix(typid oid, typmod int4) RETURNS integer
-    LANGUAGE sql
+    LANGUAGE pgsql
     IMMUTABLE
     PARALLEL SAFE
     RETURNS NULL ON NULL INPUT
@@ -143,7 +143,7 @@ $$SELECT
   END$$;
 
 CREATE FUNCTION _pg_numeric_scale(typid oid, typmod int4) RETURNS integer
-    LANGUAGE sql
+    LANGUAGE pgsql
     IMMUTABLE
     PARALLEL SAFE
     RETURNS NULL ON NULL INPUT
@@ -159,7 +159,7 @@ $$SELECT
   END$$;
 
 CREATE FUNCTION _pg_datetime_precision(typid oid, typmod int4) RETURNS integer
-    LANGUAGE sql
+    LANGUAGE pgsql
     IMMUTABLE
     PARALLEL SAFE
     RETURNS NULL ON NULL INPUT
@@ -175,7 +175,7 @@ $$SELECT
   END$$;
 
 CREATE FUNCTION _pg_interval_type(typid oid, mod int4) RETURNS text
-    LANGUAGE sql
+    LANGUAGE pgsql
     IMMUTABLE
     PARALLEL SAFE
     RETURNS NULL ON NULL INPUT
@@ -1477,7 +1477,7 @@ CREATE VIEW routines AS
            CAST(null AS cardinal_number) AS maximum_cardinality,
            CAST(CASE WHEN p.prokind <> 'p' THEN 0 END AS sql_identifier) AS dtd_identifier,
 
-           CAST(CASE WHEN l.lanname = 'sql' THEN 'SQL' ELSE 'EXTERNAL' END AS character_data)
+           CAST(CASE WHEN l.lanname = 'pgsql' THEN 'PGSQL' ELSE 'EXTERNAL' END AS character_data)
              AS routine_body,
            CAST(
              CASE WHEN pg_has_role(p.proowner, 'USAGE') THEN p.prosrc ELSE null END
diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c
index ae3002bb42..39c803fa00 100644
--- a/src/backend/catalog/objectaddress.c
+++ b/src/backend/catalog/objectaddress.c
@@ -52,7 +52,7 @@
 #include "catalog/pg_publication_rel.h"
 #include "catalog/pg_rewrite.h"
 #include "catalog/pg_statistic_ext.h"
-#include "catalog/pg_subscription.h"
+#include "catalog/pg_sub.h"
 #include "catalog/pg_tablespace.h"
 #include "catalog/pg_transform.h"
 #include "catalog/pg_trigger.h"
@@ -505,10 +505,10 @@ static const ObjectPropertyType ObjectProperty[] =
 		SubscriptionObjectIndexId,
 		SUBSCRIPTIONOID,
 		SUBSCRIPTIONNAME,
-		Anum_pg_subscription_oid,
-		Anum_pg_subscription_subname,
+		Anum_pg_sub_oid,
+		Anum_pg_sub_subname,
 		InvalidAttrNumber,
-		Anum_pg_subscription_subowner,
+		Anum_pg_sub_subowner,
 		InvalidAttrNumber,
 		OBJECT_SUBSCRIPTION,
 		true
diff --git a/src/backend/catalog/pg_shdepend.c b/src/backend/catalog/pg_shdepend.c
index 59f97bf3d0..900acb90a3 100644
--- a/src/backend/catalog/pg_shdepend.c
+++ b/src/backend/catalog/pg_shdepend.c
@@ -40,7 +40,7 @@
 #include "catalog/pg_proc.h"
 #include "catalog/pg_shdepend.h"
 #include "catalog/pg_statistic_ext.h"
-#include "catalog/pg_subscription.h"
+#include "catalog/pg_sub.h"
 #include "catalog/pg_tablespace.h"
 #include "catalog/pg_ts_config.h"
 #include "catalog/pg_ts_dict.h"
diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c
index 68d88ff499..c93e7037fc 100644
--- a/src/backend/catalog/pg_subscription.c
+++ b/src/backend/catalog/pg_subscription.c
@@ -20,7 +20,7 @@
 #include "access/tableam.h"
 #include "access/xact.h"
 #include "catalog/indexing.h"
-#include "catalog/pg_subscription.h"
+#include "catalog/pg_sub.h"
 #include "catalog/pg_subscription_rel.h"
 #include "catalog/pg_type.h"
 #include "miscadmin.h"
@@ -64,12 +64,12 @@ GetSubscription(Oid subid, bool missing_ok)
 	sub->dbid = subform->subdbid;
 	sub->name = pstrdup(NameStr(subform->subname));
 	sub->owner = subform->subowner;
-	sub->enabled = subform->subenabled;
+	sub->enabled = subform->subactive;
 
 	/* Get conninfo */
 	datum = SysCacheGetAttr(SUBSCRIPTIONOID,
 							tup,
-							Anum_pg_subscription_subconninfo,
+							Anum_pg_sub_subconn,
 							&isnull);
 	Assert(!isnull);
 	sub->conninfo = TextDatumGetCString(datum);
@@ -77,7 +77,7 @@ GetSubscription(Oid subid, bool missing_ok)
 	/* Get slotname */
 	datum = SysCacheGetAttr(SUBSCRIPTIONOID,
 							tup,
-							Anum_pg_subscription_subslotname,
+							Anum_pg_sub_subslotname,
 							&isnull);
 	if (!isnull)
 		sub->slotname = pstrdup(NameStr(*DatumGetName(datum)));
@@ -87,7 +87,7 @@ GetSubscription(Oid subid, bool missing_ok)
 	/* Get synccommit */
 	datum = SysCacheGetAttr(SUBSCRIPTIONOID,
 							tup,
-							Anum_pg_subscription_subsynccommit,
+							Anum_pg_sub_subsynccommit,
 							&isnull);
 	Assert(!isnull);
 	sub->synccommit = TextDatumGetCString(datum);
@@ -95,7 +95,7 @@ GetSubscription(Oid subid, bool missing_ok)
 	/* Get publications */
 	datum = SysCacheGetAttr(SUBSCRIPTIONOID,
 							tup,
-							Anum_pg_subscription_subpublications,
+							Anum_pg_sub_subpublications,
 							&isnull);
 	Assert(!isnull);
 	sub->publications = textarray_to_stringlist(DatumGetArrayTypeP(datum));
@@ -121,7 +121,7 @@ CountDBSubscriptions(Oid dbid)
 	rel = table_open(SubscriptionRelationId, RowExclusiveLock);
 
 	ScanKeyInit(&scankey,
-				Anum_pg_subscription_subdbid,
+				Anum_pg_sub_subdbid,
 				BTEqualStrategyNumber, F_OIDEQ,
 				ObjectIdGetDatum(dbid));
 
@@ -163,7 +163,7 @@ get_subscription_oid(const char *subname, bool missing_ok)
 {
 	Oid			oid;
 
-	oid = GetSysCacheOid2(SUBSCRIPTIONNAME, Anum_pg_subscription_oid,
+	oid = GetSysCacheOid2(SUBSCRIPTIONNAME, Anum_pg_sub_oid,
 						  MyDatabaseId, CStringGetDatum(subname));
 	if (!OidIsValid(oid) && !missing_ok)
 		ereport(ERROR,
diff --git a/src/backend/catalog/system_views.sql b/src/backend/catalog/system_views.sql
index f7800f01a6..20597dd1ff 100644
--- a/src/backend/catalog/system_views.sql
+++ b/src/backend/catalog/system_views.sql
@@ -477,7 +477,7 @@ SELECT
     l.provider, l.label
 FROM
     pg_shseclabel l
-    JOIN pg_subscription s ON l.classoid = s.tableoid AND l.objoid = s.oid
+    JOIN pg_sub s ON l.classoid = s.tableoid AND l.objoid = s.oid
 UNION ALL
 SELECT
     l.objoid, l.classoid, 0::int4 AS objsubid,
@@ -803,19 +803,19 @@ CREATE VIEW pg_stat_wal_receiver AS
     FROM pg_stat_get_wal_receiver() s
     WHERE s.pid IS NOT NULL;
 
-CREATE VIEW pg_stat_subscription AS
+CREATE VIEW pg_stat_sub AS
     SELECT
             su.oid AS subid,
             su.subname,
             st.pid,
             st.relid,
-            st.received_lsn,
+            st.received_lsn received_location,
             st.last_msg_send_time,
             st.last_msg_receipt_time,
-            st.latest_end_lsn,
+            st.latest_end_lsn latest_end_location,
             st.latest_end_time
-    FROM pg_subscription su
-            LEFT JOIN pg_stat_get_subscription(NULL) st
+    FROM pg_sub su
+            LEFT JOIN pg_stat_get_sub(NULL) st
                       ON (st.subid = su.oid);
 
 CREATE VIEW pg_stat_ssl AS
@@ -1062,9 +1062,9 @@ CREATE VIEW pg_replication_origin_status AS
 REVOKE ALL ON pg_replication_origin_status FROM public;
 
 -- All columns of pg_subscription except subconninfo are readable.
-REVOKE ALL ON pg_subscription FROM public;
-GRANT SELECT (subdbid, subname, subowner, subenabled, subslotname, subpublications)
-    ON pg_subscription TO public;
+REVOKE ALL ON pg_sub FROM public;
+GRANT SELECT (subdbid, subname, subowner, subactive, subslotname, subpublications)
+    ON pg_sub TO public;
 
 
 --
@@ -1114,7 +1114,7 @@ FROM pg_catalog.ts_parse(
     ) AS tt
 WHERE tt.tokid = parse.tokid
 $$
-LANGUAGE SQL STRICT STABLE PARALLEL SAFE;
+LANGUAGE PGSQL STRICT STABLE PARALLEL SAFE;
 
 COMMENT ON FUNCTION ts_debug(regconfig,text) IS
     'debug function for text search configuration';
@@ -1130,7 +1130,7 @@ RETURNS SETOF record AS
 $$
     SELECT * FROM pg_catalog.ts_debug( pg_catalog.get_current_ts_config(), $1);
 $$
-LANGUAGE SQL STRICT STABLE PARALLEL SAFE;
+LANGUAGE PGSQL STRICT STABLE PARALLEL SAFE;
 
 COMMENT ON FUNCTION ts_debug(text) IS
     'debug function for current text search configuration';
diff --git a/src/backend/commands/alter.c b/src/backend/commands/alter.c
index d425ef935e..9429356e81 100644
--- a/src/backend/commands/alter.c
+++ b/src/backend/commands/alter.c
@@ -35,7 +35,7 @@
 #include "catalog/pg_opfamily.h"
 #include "catalog/pg_proc.h"
 #include "catalog/pg_statistic_ext.h"
-#include "catalog/pg_subscription.h"
+#include "catalog/pg_sub.h"
 #include "catalog/pg_ts_config.h"
 #include "catalog/pg_ts_dict.h"
 #include "catalog/pg_ts_parser.h"
diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c
index a70e75a219..2b3bf4c888 100644
--- a/src/backend/commands/dbcommands.c
+++ b/src/backend/commands/dbcommands.c
@@ -38,7 +38,7 @@
 #include "catalog/pg_authid.h"
 #include "catalog/pg_database.h"
 #include "catalog/pg_db_role_setting.h"
-#include "catalog/pg_subscription.h"
+#include "catalog/pg_sub.h"
 #include "catalog/pg_tablespace.h"
 #include "commands/comment.h"
 #include "commands/dbcommands.h"
diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c
index 5408edcfc2..911265ff6f 100644
--- a/src/backend/commands/subscriptioncmds.c
+++ b/src/backend/commands/subscriptioncmds.c
@@ -23,7 +23,7 @@
 #include "catalog/namespace.h"
 #include "catalog/objectaccess.h"
 #include "catalog/objectaddress.h"
-#include "catalog/pg_subscription.h"
+#include "catalog/pg_sub.h"
 #include "catalog/pg_subscription_rel.h"
 #include "catalog/pg_type.h"
 #include "commands/defrem.h"
@@ -309,8 +309,8 @@ CreateSubscription(CreateSubscriptionStmt *stmt, bool isTopLevel)
 	Relation	rel;
 	ObjectAddress myself;
 	Oid			subid;
-	bool		nulls[Natts_pg_subscription];
-	Datum		values[Natts_pg_subscription];
+	bool		nulls[Natts_pg_sub];
+	Datum		values[Natts_pg_sub];
 	Oid			owner = GetUserId();
 	HeapTuple	tup;
 	bool		connect;
@@ -361,7 +361,7 @@ CreateSubscription(CreateSubscriptionStmt *stmt, bool isTopLevel)
 	rel = table_open(SubscriptionRelationId, RowExclusiveLock);
 
 	/* Check if name is used */
-	subid = GetSysCacheOid2(SUBSCRIPTIONNAME, Anum_pg_subscription_oid,
+	subid = GetSysCacheOid2(SUBSCRIPTIONNAME, Anum_pg_sub_oid,
 							MyDatabaseId, CStringGetDatum(stmt->subname));
 	if (OidIsValid(subid))
 	{
@@ -392,23 +392,23 @@ CreateSubscription(CreateSubscriptionStmt *stmt, bool isTopLevel)
 	memset(nulls, false, sizeof(nulls));
 
 	subid = GetNewOidWithIndex(rel, SubscriptionObjectIndexId,
-							   Anum_pg_subscription_oid);
-	values[Anum_pg_subscription_oid - 1] = ObjectIdGetDatum(subid);
-	values[Anum_pg_subscription_subdbid - 1] = ObjectIdGetDatum(MyDatabaseId);
-	values[Anum_pg_subscription_subname - 1] =
+							   Anum_pg_sub_oid);
+	values[Anum_pg_sub_oid - 1] = ObjectIdGetDatum(subid);
+	values[Anum_pg_sub_subdbid - 1] = ObjectIdGetDatum(MyDatabaseId);
+	values[Anum_pg_sub_subname - 1] =
 		DirectFunctionCall1(namein, CStringGetDatum(stmt->subname));
-	values[Anum_pg_subscription_subowner - 1] = ObjectIdGetDatum(owner);
-	values[Anum_pg_subscription_subenabled - 1] = BoolGetDatum(enabled);
-	values[Anum_pg_subscription_subconninfo - 1] =
+	values[Anum_pg_sub_subowner - 1] = ObjectIdGetDatum(owner);
+	values[Anum_pg_sub_subactive - 1] = BoolGetDatum(enabled);
+	values[Anum_pg_sub_subconn - 1] =
 		CStringGetTextDatum(conninfo);
 	if (slotname)
-		values[Anum_pg_subscription_subslotname - 1] =
+		values[Anum_pg_sub_subslotname - 1] =
 			DirectFunctionCall1(namein, CStringGetDatum(slotname));
 	else
-		nulls[Anum_pg_subscription_subslotname - 1] = true;
-	values[Anum_pg_subscription_subsynccommit - 1] =
+		nulls[Anum_pg_sub_subslotname - 1] = true;
+	values[Anum_pg_sub_subsynccommit - 1] =
 		CStringGetTextDatum(synchronous_commit);
-	values[Anum_pg_subscription_subpublications - 1] =
+	values[Anum_pg_sub_subpublications - 1] =
 		publicationListToArray(publications);
 
 	tup = heap_form_tuple(RelationGetDescr(rel), values, nulls);
@@ -623,9 +623,9 @@ AlterSubscription(AlterSubscriptionStmt *stmt)
 {
 	Relation	rel;
 	ObjectAddress myself;
-	bool		nulls[Natts_pg_subscription];
-	bool		replaces[Natts_pg_subscription];
-	Datum		values[Natts_pg_subscription];
+	bool		nulls[Natts_pg_sub];
+	bool		replaces[Natts_pg_sub];
+	Datum		values[Natts_pg_sub];
 	HeapTuple	tup;
 	Oid			subid;
 	bool		update_tuple = false;
@@ -683,18 +683,18 @@ AlterSubscription(AlterSubscriptionStmt *stmt)
 										"slot_name = NONE")));
 
 					if (slotname)
-						values[Anum_pg_subscription_subslotname - 1] =
+						values[Anum_pg_sub_subslotname - 1] =
 							DirectFunctionCall1(namein, CStringGetDatum(slotname));
 					else
-						nulls[Anum_pg_subscription_subslotname - 1] = true;
-					replaces[Anum_pg_subscription_subslotname - 1] = true;
+						nulls[Anum_pg_sub_subslotname - 1] = true;
+					replaces[Anum_pg_sub_subslotname - 1] = true;
 				}
 
 				if (synchronous_commit)
 				{
-					values[Anum_pg_subscription_subsynccommit - 1] =
+					values[Anum_pg_sub_subsynccommit - 1] =
 						CStringGetTextDatum(synchronous_commit);
-					replaces[Anum_pg_subscription_subsynccommit - 1] = true;
+					replaces[Anum_pg_sub_subsynccommit - 1] = true;
 				}
 
 				update_tuple = true;
@@ -716,9 +716,9 @@ AlterSubscription(AlterSubscriptionStmt *stmt)
 							(errcode(ERRCODE_SYNTAX_ERROR),
 							 errmsg("cannot enable subscription that does not have a slot name")));
 
-				values[Anum_pg_subscription_subenabled - 1] =
+				values[Anum_pg_sub_subactive - 1] =
 					BoolGetDatum(enabled);
-				replaces[Anum_pg_subscription_subenabled - 1] = true;
+				replaces[Anum_pg_sub_subactive - 1] = true;
 
 				if (enabled)
 					ApplyLauncherWakeupAtCommit();
@@ -733,9 +733,9 @@ AlterSubscription(AlterSubscriptionStmt *stmt)
 			/* Check the connection info string. */
 			walrcv_check_conninfo(stmt->conninfo);
 
-			values[Anum_pg_subscription_subconninfo - 1] =
+			values[Anum_pg_sub_subconn - 1] =
 				CStringGetTextDatum(stmt->conninfo);
-			replaces[Anum_pg_subscription_subconninfo - 1] = true;
+			replaces[Anum_pg_sub_subconn - 1] = true;
 			update_tuple = true;
 			break;
 
@@ -748,9 +748,9 @@ AlterSubscription(AlterSubscriptionStmt *stmt)
 										   NULL, NULL, NULL, &copy_data,
 										   NULL, &refresh);
 
-				values[Anum_pg_subscription_subpublications - 1] =
+				values[Anum_pg_sub_subpublications - 1] =
 					publicationListToArray(stmt->publication);
-				replaces[Anum_pg_subscription_subpublications - 1] = true;
+				replaces[Anum_pg_sub_subpublications - 1] = true;
 
 				update_tuple = true;
 
@@ -884,19 +884,19 @@ DropSubscription(DropSubscriptionStmt *stmt, bool isTopLevel)
 
 	/* Get subname */
 	datum = SysCacheGetAttr(SUBSCRIPTIONOID, tup,
-							Anum_pg_subscription_subname, &isnull);
+							Anum_pg_sub_subname, &isnull);
 	Assert(!isnull);
 	subname = pstrdup(NameStr(*DatumGetName(datum)));
 
 	/* Get conninfo */
 	datum = SysCacheGetAttr(SUBSCRIPTIONOID, tup,
-							Anum_pg_subscription_subconninfo, &isnull);
+							Anum_pg_sub_subconn, &isnull);
 	Assert(!isnull);
 	conninfo = TextDatumGetCString(datum);
 
 	/* Get slotname */
 	datum = SysCacheGetAttr(SUBSCRIPTIONOID, tup,
-							Anum_pg_subscription_subslotname, &isnull);
+							Anum_pg_sub_subslotname, &isnull);
 	if (!isnull)
 		slotname = pstrdup(NameStr(*DatumGetName(datum)));
 	else
diff --git a/src/backend/replication/logical/launcher.c b/src/backend/replication/logical/launcher.c
index 4643af95fe..23b8df943b 100644
--- a/src/backend/replication/logical/launcher.c
+++ b/src/backend/replication/logical/launcher.c
@@ -22,7 +22,7 @@
 #include "access/htup_details.h"
 #include "access/tableam.h"
 #include "access/xact.h"
-#include "catalog/pg_subscription.h"
+#include "catalog/pg_sub.h"
 #include "catalog/pg_subscription_rel.h"
 #include "funcapi.h"
 #include "libpq/pqsignal.h"
@@ -97,7 +97,7 @@ static volatile sig_atomic_t got_SIGHUP = false;
 
 static bool on_commit_launcher_wakeup = false;
 
-Datum		pg_stat_get_subscription(PG_FUNCTION_ARGS);
+Datum		pg_stat_get_sub(PG_FUNCTION_ARGS);
 
 
 /*
@@ -149,7 +149,7 @@ get_subscription_list(void)
 		sub->oid = subform->oid;
 		sub->dbid = subform->subdbid;
 		sub->owner = subform->subowner;
-		sub->enabled = subform->subenabled;
+		sub->enabled = subform->subactive;
 		sub->name = pstrdup(NameStr(subform->subname));
 		/* We don't fill fields we are not interested in. */
 
@@ -1084,7 +1084,7 @@ IsLogicalLauncher(void)
  * Returns state of the subscriptions.
  */
 Datum
-pg_stat_get_subscription(PG_FUNCTION_ARGS)
+pg_stat_get_sub(PG_FUNCTION_ARGS)
 {
 #define PG_STAT_GET_SUBSCRIPTION_COLS	8
 	Oid			subid = PG_ARGISNULL(0) ? InvalidOid : PG_GETARG_OID(0);
diff --git a/src/backend/replication/logical/worker.c b/src/backend/replication/logical/worker.c
index ced0d191c2..67cab841dd 100644
--- a/src/backend/replication/logical/worker.c
+++ b/src/backend/replication/logical/worker.c
@@ -29,7 +29,7 @@
 #include "access/xlog_internal.h"
 #include "catalog/catalog.h"
 #include "catalog/namespace.h"
-#include "catalog/pg_subscription.h"
+#include "catalog/pg_sub.h"
 #include "catalog/pg_subscription_rel.h"
 #include "commands/tablecmds.h"
 #include "commands/trigger.h"
diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c
index 50f8912c13..9330d78c8a 100644
--- a/src/backend/utils/cache/relcache.c
+++ b/src/backend/utils/cache/relcache.c
@@ -59,7 +59,7 @@
 #include "catalog/pg_rewrite.h"
 #include "catalog/pg_shseclabel.h"
 #include "catalog/pg_statistic_ext.h"
-#include "catalog/pg_subscription.h"
+#include "catalog/pg_sub.h"
 #include "catalog/pg_tablespace.h"
 #include "catalog/pg_trigger.h"
 #include "catalog/pg_type.h"
@@ -117,7 +117,7 @@ static const FormData_pg_attribute Desc_pg_authid[Natts_pg_authid] = {Schema_pg_
 static const FormData_pg_attribute Desc_pg_auth_members[Natts_pg_auth_members] = {Schema_pg_auth_members};
 static const FormData_pg_attribute Desc_pg_index[Natts_pg_index] = {Schema_pg_index};
 static const FormData_pg_attribute Desc_pg_shseclabel[Natts_pg_shseclabel] = {Schema_pg_shseclabel};
-static const FormData_pg_attribute Desc_pg_subscription[Natts_pg_subscription] = {Schema_pg_subscription};
+static const FormData_pg_attribute Desc_pg_subscription[Natts_pg_sub] = {Schema_pg_sub};
 
 /*
  *		Hash tables that index the relation cache
@@ -3648,8 +3648,8 @@ RelationCacheInitializePhase2(void)
 				  Natts_pg_auth_members, Desc_pg_auth_members);
 		formrdesc("pg_shseclabel", SharedSecLabelRelation_Rowtype_Id, true,
 				  Natts_pg_shseclabel, Desc_pg_shseclabel);
-		formrdesc("pg_subscription", SubscriptionRelation_Rowtype_Id, true,
-				  Natts_pg_subscription, Desc_pg_subscription);
+		formrdesc("pg_sub", SubscriptionRelation_Rowtype_Id, true,
+				  Natts_pg_sub, Desc_pg_subscription);
 
 #define NUM_CRITICAL_SHARED_RELS	5	/* fix if you change list above */
 	}
diff --git a/src/backend/utils/cache/syscache.c b/src/backend/utils/cache/syscache.c
index d69c0ff813..d021d37fba 100644
--- a/src/backend/utils/cache/syscache.c
+++ b/src/backend/utils/cache/syscache.c
@@ -63,7 +63,7 @@
 #include "catalog/pg_statistic.h"
 #include "catalog/pg_statistic_ext.h"
 #include "catalog/pg_statistic_ext_data.h"
-#include "catalog/pg_subscription.h"
+#include "catalog/pg_sub.h"
 #include "catalog/pg_subscription_rel.h"
 #include "catalog/pg_tablespace.h"
 #include "catalog/pg_transform.h"
@@ -776,8 +776,8 @@ static const struct cachedesc cacheinfo[] = {
 		SubscriptionNameIndexId,
 		2,
 		{
-			Anum_pg_subscription_subdbid,
-			Anum_pg_subscription_subname,
+			Anum_pg_sub_subdbid,
+			Anum_pg_sub_subname,
 			0,
 			0
 		},
@@ -787,7 +787,7 @@ static const struct cachedesc cacheinfo[] = {
 		SubscriptionObjectIndexId,
 		1,
 		{
-			Anum_pg_subscription_oid,
+			Anum_pg_sub_oid,
 			0,
 			0,
 			0
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 08658c8e86..cca150a39c 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -4117,7 +4117,7 @@ getSubscriptions(Archive *fout)
 		int			n;
 
 		res = ExecuteSqlQuery(fout,
-							  "SELECT count(*) FROM pg_subscription "
+							  "SELECT count(*) FROM pg_sub "
 							  "WHERE subdbid = (SELECT oid FROM pg_database"
 							  "                 WHERE datname = current_database())",
 							  PGRES_TUPLES_OK);
@@ -4136,9 +4136,9 @@ getSubscriptions(Archive *fout)
 	appendPQExpBuffer(query,
 					  "SELECT s.tableoid, s.oid, s.subname,"
 					  "(%s s.subowner) AS rolname, "
-					  " s.subconninfo, s.subslotname, s.subsynccommit, "
+					  " s.subconn, s.subslotname, s.subsynccommit, "
 					  " s.subpublications "
-					  "FROM pg_subscription s "
+					  "FROM pg_sub s "
 					  "WHERE s.subdbid = (SELECT oid FROM pg_database"
 					  "                   WHERE datname = current_database())",
 					  username_subquery);
@@ -4150,7 +4150,7 @@ getSubscriptions(Archive *fout)
 	i_oid = PQfnumber(res, "oid");
 	i_subname = PQfnumber(res, "subname");
 	i_rolname = PQfnumber(res, "rolname");
-	i_subconninfo = PQfnumber(res, "subconninfo");
+	i_subconninfo = PQfnumber(res, "subconn");
 	i_subslotname = PQfnumber(res, "subslotname");
 	i_subsynccommit = PQfnumber(res, "subsynccommit");
 	i_subpublications = PQfnumber(res, "subpublications");
diff --git a/src/include/catalog/indexing.h b/src/include/catalog/indexing.h
index ef4445b017..8d4c8d8eb5 100644
--- a/src/include/catalog/indexing.h
+++ b/src/include/catalog/indexing.h
@@ -357,10 +357,10 @@ DECLARE_UNIQUE_INDEX(pg_publication_rel_oid_index, 6112, on pg_publication_rel u
 DECLARE_UNIQUE_INDEX(pg_publication_rel_prrelid_prpubid_index, 6113, on pg_publication_rel using btree(prrelid oid_ops, prpubid oid_ops));
 #define PublicationRelPrrelidPrpubidIndexId 6113
 
-DECLARE_UNIQUE_INDEX(pg_subscription_oid_index, 6114, on pg_subscription using btree(oid oid_ops));
+DECLARE_UNIQUE_INDEX(pg_subscription_oid_index, 6114, on pg_sub using btree(oid oid_ops));
 #define SubscriptionObjectIndexId 6114
 
-DECLARE_UNIQUE_INDEX(pg_subscription_subname_index, 6115, on pg_subscription using btree(subdbid oid_ops, subname name_ops));
+DECLARE_UNIQUE_INDEX(pg_subscription_subname_index, 6115, on pg_sub using btree(subdbid oid_ops, subname name_ops));
 #define SubscriptionNameIndexId 6115
 
 DECLARE_UNIQUE_INDEX(pg_subscription_rel_srrelid_srsubid_index, 6117, on pg_subscription_rel using btree(srrelid oid_ops, srsubid oid_ops));
diff --git a/src/include/catalog/pg_language.dat b/src/include/catalog/pg_language.dat
index 02dde38a1c..5c82c1b545 100644
--- a/src/include/catalog/pg_language.dat
+++ b/src/include/catalog/pg_language.dat
@@ -20,6 +20,6 @@
   lanname => 'c', lanvalidator => 'fmgr_c_validator' },
 { oid => '14', oid_symbol => 'SQLlanguageId',
   descr => 'SQL-language functions',
-  lanname => 'sql', lanpltrusted => 't', lanvalidator => 'fmgr_sql_validator' },
+  lanname => 'pgsql', lanpltrusted => 't', lanvalidator => 'fmgr_sql_validator' },
 
 ]
diff --git a/src/include/catalog/pg_proc.dat b/src/include/catalog/pg_proc.dat
index ac8f64b219..27a80a6a5f 100644
--- a/src/include/catalog/pg_proc.dat
+++ b/src/include/catalog/pg_proc.dat
@@ -2281,7 +2281,7 @@
   proname => 'justify_days', prorettype => 'interval',
   proargtypes => 'interval', prosrc => 'interval_justify_days' },
 { oid => '1176', descr => 'convert date and time to timestamp with time zone',
-  proname => 'timestamptz', prolang => 'sql', provolatile => 's',
+  proname => 'timestamptz', prolang => 'pgsql', provolatile => 's',
   prorettype => 'timestamptz', proargtypes => 'date time',
   prosrc => 'select cast(($1 + $2) as timestamp with time zone)' },
 { oid => '1178', descr => 'convert timestamp with time zone to date',
@@ -2334,16 +2334,16 @@
   prosrc => 'interval_scale' },
 
 { oid => '1215', descr => 'get description for object id and catalog name',
-  proname => 'obj_description', prolang => 'sql', procost => '100',
+  proname => 'obj_description', prolang => 'pgsql', procost => '100',
   provolatile => 's', prorettype => 'text', proargtypes => 'oid name',
   prosrc => 'select description from pg_catalog.pg_description where objoid = $1 and classoid = (select oid from pg_catalog.pg_class where relname = $2 and relnamespace = PGNSP) and objsubid = 0' },
 { oid => '1216', descr => 'get description for table column',
-  proname => 'col_description', prolang => 'sql', procost => '100',
+  proname => 'col_description', prolang => 'pgsql', procost => '100',
   provolatile => 's', prorettype => 'text', proargtypes => 'oid int4',
   prosrc => 'select description from pg_catalog.pg_description where objoid = $1 and classoid = \'pg_catalog.pg_class\'::pg_catalog.regclass and objsubid = $2' },
 { oid => '1993',
   descr => 'get description for object id and shared catalog name',
-  proname => 'shobj_description', prolang => 'sql', procost => '100',
+  proname => 'shobj_description', prolang => 'pgsql', procost => '100',
   provolatile => 's', prorettype => 'text', proargtypes => 'oid name',
   prosrc => 'select description from pg_catalog.pg_shdescription where objoid = $1 and classoid = (select oid from pg_catalog.pg_class where relname = $2 and relnamespace = PGNSP)' },
 
@@ -2519,13 +2519,13 @@
   prosrc => 'hashtidextended' },
 
 { oid => '1296',
-  proname => 'timedate_pl', prolang => 'sql', prorettype => 'timestamp',
+  proname => 'timedate_pl', prolang => 'pgsql', prorettype => 'timestamp',
   proargtypes => 'time date', prosrc => 'select ($2 + $1)' },
 { oid => '1297',
   proname => 'datetimetz_pl', prorettype => 'timestamptz',
   proargtypes => 'date timetz', prosrc => 'datetimetz_timestamptz' },
 { oid => '1298',
-  proname => 'timetzdate_pl', prolang => 'sql', prorettype => 'timestamptz',
+  proname => 'timetzdate_pl', prolang => 'pgsql', prorettype => 'timestamptz',
   proargtypes => 'timetz date', prosrc => 'select ($2 + $1)' },
 { oid => '1299', descr => 'current transaction time',
   proname => 'now', provolatile => 's', prorettype => 'timestamptz',
@@ -2567,17 +2567,17 @@
   proargtypes => 'timestamptz timestamptz timestamptz timestamptz',
   prosrc => 'overlaps_timestamp' },
 { oid => '1305', descr => 'intervals overlap?',
-  proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
+  proname => 'overlaps', prolang => 'pgsql', proisstrict => 'f',
   provolatile => 's', prorettype => 'bool',
   proargtypes => 'timestamptz interval timestamptz interval',
   prosrc => 'select ($1, ($1 + $2)) overlaps ($3, ($3 + $4))' },
 { oid => '1306', descr => 'intervals overlap?',
-  proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
+  proname => 'overlaps', prolang => 'pgsql', proisstrict => 'f',
   provolatile => 's', prorettype => 'bool',
   proargtypes => 'timestamptz timestamptz timestamptz interval',
   prosrc => 'select ($1, $2) overlaps ($3, ($3 + $4))' },
 { oid => '1307', descr => 'intervals overlap?',
-  proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
+  proname => 'overlaps', prolang => 'pgsql', proisstrict => 'f',
   provolatile => 's', prorettype => 'bool',
   proargtypes => 'timestamptz interval timestamptz timestamptz',
   prosrc => 'select ($1, ($1 + $2)) overlaps ($3, $4)' },
@@ -2586,15 +2586,15 @@
   proname => 'overlaps', proisstrict => 'f', prorettype => 'bool',
   proargtypes => 'time time time time', prosrc => 'overlaps_time' },
 { oid => '1309', descr => 'intervals overlap?',
-  proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
+  proname => 'overlaps', prolang => 'pgsql', proisstrict => 'f',
   prorettype => 'bool', proargtypes => 'time interval time interval',
   prosrc => 'select ($1, ($1 + $2)) overlaps ($3, ($3 + $4))' },
 { oid => '1310', descr => 'intervals overlap?',
-  proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
+  proname => 'overlaps', prolang => 'pgsql', proisstrict => 'f',
   prorettype => 'bool', proargtypes => 'time time time interval',
   prosrc => 'select ($1, $2) overlaps ($3, ($3 + $4))' },
 { oid => '1311', descr => 'intervals overlap?',
-  proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
+  proname => 'overlaps', prolang => 'pgsql', proisstrict => 'f',
   prorettype => 'bool', proargtypes => 'time interval time time',
   prosrc => 'select ($1, ($1 + $2)) overlaps ($3, $4)' },
 
@@ -2675,7 +2675,7 @@
 # This form of obj_description is now deprecated, since it will fail if
 # OIDs are not unique across system catalogs.  Use the other form instead.
 { oid => '1348', descr => 'deprecated, use two-argument form instead',
-  proname => 'obj_description', prolang => 'sql', procost => '100',
+  proname => 'obj_description', prolang => 'pgsql', procost => '100',
   provolatile => 's', prorettype => 'text', proargtypes => 'oid',
   prosrc => 'select description from pg_catalog.pg_description where objoid = $1 and objsubid = 0' },
 
@@ -2759,7 +2759,7 @@
   prosrc => 'textlen' },
 
 { oid => '1384', descr => 'extract field from date',
-  proname => 'date_part', prolang => 'sql', prorettype => 'float8',
+  proname => 'date_part', prolang => 'pgsql', prorettype => 'float8',
   proargtypes => 'text date',
   prosrc => 'select pg_catalog.date_part($1, cast($2 as timestamp without time zone))' },
 { oid => '1385', descr => 'extract field from time',
@@ -2767,7 +2767,7 @@
   prosrc => 'time_part' },
 { oid => '1386',
   descr => 'date difference from today preserving months and years',
-  proname => 'age', prolang => 'sql', provolatile => 's',
+  proname => 'age', prolang => 'pgsql', provolatile => 's',
   prorettype => 'interval', proargtypes => 'timestamptz',
   prosrc => 'select pg_catalog.age(cast(current_date as timestamp with time zone), $1)' },
 
@@ -2882,7 +2882,7 @@
   proname => 'box_div', prorettype => 'box', proargtypes => 'box point',
   prosrc => 'box_div' },
 { oid => '1426',
-  proname => 'path_contain_pt', prolang => 'sql', prorettype => 'bool',
+  proname => 'path_contain_pt', prolang => 'pgsql', prorettype => 'bool',
   proargtypes => 'path point', prosrc => 'select pg_catalog.on_ppath($2, $1)' },
 { oid => '1428',
   proname => 'poly_contain_pt', prorettype => 'bool',
@@ -3142,7 +3142,7 @@
   proname => 'center', prorettype => 'point', proargtypes => 'circle',
   prosrc => 'circle_center' },
 { oid => '1544', descr => 'convert circle to 12-vertex polygon',
-  proname => 'polygon', prolang => 'sql', prorettype => 'polygon',
+  proname => 'polygon', prolang => 'pgsql', prorettype => 'polygon',
   proargtypes => 'circle', prosrc => 'select pg_catalog.polygon(12, $1)' },
 { oid => '1545', descr => 'number of points',
   proname => 'npoints', prorettype => 'int4', proargtypes => 'path',
@@ -3438,11 +3438,11 @@
   proname => 'translate', prorettype => 'text', proargtypes => 'text text text',
   prosrc => 'translate' },
 { oid => '879', descr => 'left-pad string to length',
-  proname => 'lpad', prolang => 'sql', prorettype => 'text',
+  proname => 'lpad', prolang => 'pgsql', prorettype => 'text',
   proargtypes => 'text int4',
   prosrc => 'select pg_catalog.lpad($1, $2, \' \')' },
 { oid => '880', descr => 'right-pad string to length',
-  proname => 'rpad', prolang => 'sql', prorettype => 'text',
+  proname => 'rpad', prolang => 'pgsql', prorettype => 'text',
   proargtypes => 'text int4',
   prosrc => 'select pg_catalog.rpad($1, $2, \' \')' },
 { oid => '881', descr => 'trim spaces from left end of string',
@@ -4033,7 +4033,7 @@
   proname => 'inetpl', prorettype => 'inet', proargtypes => 'inet int8',
   prosrc => 'inetpl' },
 { oid => '2631',
-  proname => 'int8pl_inet', prolang => 'sql', prorettype => 'inet',
+  proname => 'int8pl_inet', prolang => 'pgsql', prorettype => 'inet',
   proargtypes => 'int8 inet', prosrc => 'select $2 + $1' },
 { oid => '2632',
   proname => 'inetmi_int8', prorettype => 'inet', proargtypes => 'inet int8',
@@ -4165,13 +4165,13 @@
   proname => 'round', prorettype => 'numeric', proargtypes => 'numeric int4',
   prosrc => 'numeric_round' },
 { oid => '1708', descr => 'value rounded to \'scale\' of zero',
-  proname => 'round', prolang => 'sql', prorettype => 'numeric',
+  proname => 'round', prolang => 'pgsql', prorettype => 'numeric',
   proargtypes => 'numeric', prosrc => 'select pg_catalog.round($1,0)' },
 { oid => '1709', descr => 'value truncated to \'scale\'',
   proname => 'trunc', prorettype => 'numeric', proargtypes => 'numeric int4',
   prosrc => 'numeric_trunc' },
 { oid => '1710', descr => 'value truncated to \'scale\' of zero',
-  proname => 'trunc', prolang => 'sql', prorettype => 'numeric',
+  proname => 'trunc', prolang => 'pgsql', prorettype => 'numeric',
   proargtypes => 'numeric', prosrc => 'select pg_catalog.trunc($1,0)' },
 { oid => '1711', descr => 'nearest integer >= value',
   proname => 'ceil', prorettype => 'numeric', proargtypes => 'numeric',
@@ -4258,10 +4258,10 @@
   proname => 'numeric', prorettype => 'numeric', proargtypes => 'int4',
   prosrc => 'int4_numeric' },
 { oid => '1741', descr => 'base 10 logarithm',
-  proname => 'log', prolang => 'sql', prorettype => 'numeric',
+  proname => 'log', prolang => 'pgsql', prorettype => 'numeric',
   proargtypes => 'numeric', prosrc => 'select pg_catalog.log(10, $1)' },
 { oid => '1481', descr => 'base 10 logarithm',
-  proname => 'log10', prolang => 'sql', prorettype => 'numeric',
+  proname => 'log10', prolang => 'pgsql', prorettype => 'numeric',
   proargtypes => 'numeric', prosrc => 'select pg_catalog.log(10, $1)' },
 { oid => '1742', descr => 'convert float4 to numeric',
   proname => 'numeric', prorettype => 'numeric', proargtypes => 'float4',
@@ -4394,7 +4394,7 @@
   proname => 'quote_literal', prorettype => 'text', proargtypes => 'text',
   prosrc => 'quote_literal' },
 { oid => '1285', descr => 'quote a data value for usage in a querystring',
-  proname => 'quote_literal', prolang => 'sql', provolatile => 's',
+  proname => 'quote_literal', prolang => 'pgsql', provolatile => 's',
   prorettype => 'text', proargtypes => 'anyelement',
   prosrc => 'select pg_catalog.quote_literal($1::pg_catalog.text)' },
 { oid => '1289',
@@ -4403,7 +4403,7 @@
   proargtypes => 'text', prosrc => 'quote_nullable' },
 { oid => '1290',
   descr => 'quote a possibly-null data value for usage in a querystring',
-  proname => 'quote_nullable', prolang => 'sql', proisstrict => 'f',
+  proname => 'quote_nullable', prolang => 'pgsql', proisstrict => 'f',
   provolatile => 's', prorettype => 'text', proargtypes => 'anyelement',
   prosrc => 'select pg_catalog.quote_nullable($1::pg_catalog.text)' },
 
@@ -4442,13 +4442,13 @@
   prorettype => 'text', proargtypes => 'text', prosrc => 'text_format_nv' },
 
 { oid => '1810', descr => 'length in bits',
-  proname => 'bit_length', prolang => 'sql', prorettype => 'int4',
+  proname => 'bit_length', prolang => 'pgsql', prorettype => 'int4',
   proargtypes => 'bytea', prosrc => 'select pg_catalog.octet_length($1) * 8' },
 { oid => '1811', descr => 'length in bits',
-  proname => 'bit_length', prolang => 'sql', prorettype => 'int4',
+  proname => 'bit_length', prolang => 'pgsql', prorettype => 'int4',
   proargtypes => 'text', prosrc => 'select pg_catalog.octet_length($1) * 8' },
 { oid => '1812', descr => 'length in bits',
-  proname => 'bit_length', prolang => 'sql', prorettype => 'int4',
+  proname => 'bit_length', prolang => 'pgsql', prorettype => 'int4',
   proargtypes => 'bit', prosrc => 'select pg_catalog.length($1)' },
 
 # Selectivity estimators for LIKE and related operators
@@ -4767,7 +4767,7 @@
   prosrc => 'to_ascii_encname' },
 
 { oid => '1848',
-  proname => 'interval_pl_time', prolang => 'sql', prorettype => 'time',
+  proname => 'interval_pl_time', prolang => 'pgsql', prorettype => 'time',
   proargtypes => 'interval time', prosrc => 'select $2 + $1' },
 
 { oid => '1850',
@@ -5178,12 +5178,12 @@
   proargnames => '{pid,status,receive_start_lsn,receive_start_tli,received_lsn,received_tli,last_msg_send_time,last_msg_receipt_time,latest_end_lsn,latest_end_time,slot_name,sender_host,sender_port,conninfo}',
   prosrc => 'pg_stat_get_wal_receiver' },
 { oid => '6118', descr => 'statistics: information about subscription',
-  proname => 'pg_stat_get_subscription', proisstrict => 'f', provolatile => 's',
+  proname => 'pg_stat_get_sub', proisstrict => 'f', provolatile => 's',
   proparallel => 'r', prorettype => 'record', proargtypes => 'oid',
   proallargtypes => '{oid,oid,oid,int4,pg_lsn,timestamptz,timestamptz,pg_lsn,timestamptz}',
   proargmodes => '{i,o,o,o,o,o,o,o,o}',
   proargnames => '{subid,subid,relid,pid,received_lsn,last_msg_send_time,last_msg_receipt_time,latest_end_lsn,latest_end_time}',
-  prosrc => 'pg_stat_get_subscription' },
+  prosrc => 'pg_stat_get_sub' },
 { oid => '2026', descr => 'statistics: current backend PID',
   proname => 'pg_backend_pid', provolatile => 's', proparallel => 'r',
   prorettype => 'int4', proargtypes => '', prosrc => 'pg_backend_pid' },
@@ -5579,11 +5579,11 @@
   proargtypes => 'timetz int4', prosrc => 'timetz_scale' },
 
 { oid => '2003',
-  proname => 'textanycat', prolang => 'sql', provolatile => 's',
+  proname => 'textanycat', prolang => 'pgsql', provolatile => 's',
   prorettype => 'text', proargtypes => 'text anynonarray',
   prosrc => 'select $1 || $2::pg_catalog.text' },
 { oid => '2004',
-  proname => 'anytextcat', prolang => 'sql', provolatile => 's',
+  proname => 'anytextcat', prolang => 'pgsql', provolatile => 's',
   prorettype => 'text', proargtypes => 'anynonarray text',
   prosrc => 'select $1::pg_catalog.text || $2' },
 
@@ -5683,15 +5683,15 @@
   proargtypes => 'timestamp timestamp timestamp timestamp',
   prosrc => 'overlaps_timestamp' },
 { oid => '2042', descr => 'intervals overlap?',
-  proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
+  proname => 'overlaps', prolang => 'pgsql', proisstrict => 'f',
   prorettype => 'bool', proargtypes => 'timestamp interval timestamp interval',
   prosrc => 'select ($1, ($1 + $2)) overlaps ($3, ($3 + $4))' },
 { oid => '2043', descr => 'intervals overlap?',
-  proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
+  proname => 'overlaps', prolang => 'pgsql', proisstrict => 'f',
   prorettype => 'bool', proargtypes => 'timestamp timestamp timestamp interval',
   prosrc => 'select ($1, $2) overlaps ($3, ($3 + $4))' },
 { oid => '2044', descr => 'intervals overlap?',
-  proname => 'overlaps', prolang => 'sql', proisstrict => 'f',
+  proname => 'overlaps', prolang => 'pgsql', proisstrict => 'f',
   prorettype => 'bool', proargtypes => 'timestamp interval timestamp timestamp',
   prosrc => 'select ($1, ($1 + $2)) overlaps ($3, $4)' },
 { oid => '2045', descr => 'less-equal-greater',
@@ -5757,7 +5757,7 @@
   proargtypes => 'timestamp timestamp', prosrc => 'timestamp_age' },
 { oid => '2059',
   descr => 'date difference from today preserving months and years',
-  proname => 'age', prolang => 'sql', provolatile => 's',
+  proname => 'age', prolang => 'pgsql', provolatile => 's',
   prorettype => 'interval', proargtypes => 'timestamp',
   prosrc => 'select pg_catalog.age(cast(current_date as timestamp without time zone), $1)' },
 
@@ -5778,7 +5778,7 @@
   proname => 'substring', prorettype => 'text', proargtypes => 'text text',
   prosrc => 'textregexsubstr' },
 { oid => '2074', descr => 'extract text matching SQL regular expression',
-  proname => 'substring', prolang => 'sql', prorettype => 'text',
+  proname => 'substring', prolang => 'pgsql', prorettype => 'text',
   proargtypes => 'text text text',
   prosrc => 'select pg_catalog.substring($1, pg_catalog.similar_to_escape($2, $3))' },
 
@@ -6117,11 +6117,11 @@
   proname => 'pg_sleep', provolatile => 'v', prorettype => 'void',
   proargtypes => 'float8', prosrc => 'pg_sleep' },
 { oid => '3935', descr => 'sleep for the specified interval',
-  proname => 'pg_sleep_for', prolang => 'sql', provolatile => 'v',
+  proname => 'pg_sleep_for', prolang => 'pgsql', provolatile => 'v',
   prorettype => 'void', proargtypes => 'interval',
   prosrc => 'select pg_catalog.pg_sleep(extract(epoch from pg_catalog.clock_timestamp() operator(pg_catalog.+) $1) operator(pg_catalog.-) extract(epoch from pg_catalog.clock_timestamp()))' },
 { oid => '3936', descr => 'sleep until the specified time',
-  proname => 'pg_sleep_until', prolang => 'sql', provolatile => 'v',
+  proname => 'pg_sleep_until', prolang => 'pgsql', provolatile => 'v',
   prorettype => 'void', proargtypes => 'timestamptz',
   prosrc => 'select pg_catalog.pg_sleep(extract(epoch from $1) operator(pg_catalog.-) extract(epoch from pg_catalog.clock_timestamp()))' },
 { oid => '315', descr => 'Is JIT compilation available in this session?',
@@ -6922,7 +6922,7 @@
   proargtypes => 'name', prosrc => 'pg_database_size_name' },
 { oid => '2325',
   descr => 'disk space usage for the main fork of the specified table or index',
-  proname => 'pg_relation_size', prolang => 'sql', provolatile => 'v',
+  proname => 'pg_relation_size', prolang => 'pgsql', provolatile => 'v',
   prorettype => 'int8', proargtypes => 'regclass',
   prosrc => 'select pg_catalog.pg_relation_size($1, \'main\')' },
 { oid => '2332',
@@ -7760,21 +7760,21 @@
 
 # formerly-missing interval + datetime operators
 { oid => '2546',
-  proname => 'interval_pl_date', prolang => 'sql', prorettype => 'timestamp',
+  proname => 'interval_pl_date', prolang => 'pgsql', prorettype => 'timestamp',
   proargtypes => 'interval date', prosrc => 'select $2 + $1' },
 { oid => '2547',
-  proname => 'interval_pl_timetz', prolang => 'sql', prorettype => 'timetz',
+  proname => 'interval_pl_timetz', prolang => 'pgsql', prorettype => 'timetz',
   proargtypes => 'interval timetz', prosrc => 'select $2 + $1' },
 { oid => '2548',
-  proname => 'interval_pl_timestamp', prolang => 'sql',
+  proname => 'interval_pl_timestamp', prolang => 'pgsql',
   prorettype => 'timestamp', proargtypes => 'interval timestamp',
   prosrc => 'select $2 + $1' },
 { oid => '2549',
-  proname => 'interval_pl_timestamptz', prolang => 'sql', provolatile => 's',
+  proname => 'interval_pl_timestamptz', prolang => 'pgsql', provolatile => 's',
   prorettype => 'timestamptz', proargtypes => 'interval timestamptz',
   prosrc => 'select $2 + $1' },
 { oid => '2550',
-  proname => 'integer_pl_date', prolang => 'sql', prorettype => 'date',
+  proname => 'integer_pl_date', prolang => 'pgsql', prorettype => 'date',
   proargtypes => 'int4 date', prosrc => 'select $2 + $1' },
 
 { oid => '2556', descr => 'get OIDs of databases in a tablespace',
@@ -8163,7 +8163,7 @@
   proname => 'xpath', prorettype => '_xml', proargtypes => 'text xml _text',
   prosrc => 'xpath' },
 { oid => '2932', descr => 'evaluate XPath expression',
-  proname => 'xpath', prolang => 'sql', prorettype => '_xml',
+  proname => 'xpath', prolang => 'pgsql', prorettype => '_xml',
   proargtypes => 'text xml',
   prosrc => 'select pg_catalog.xpath($1, $2, \'{}\'::pg_catalog.text[])' },
 
@@ -8176,7 +8176,7 @@
   proname => 'xpath_exists', prorettype => 'bool',
   proargtypes => 'text xml _text', prosrc => 'xpath_exists' },
 { oid => '3050', descr => 'test XML value against XPath expression',
-  proname => 'xpath_exists', prolang => 'sql', prorettype => 'bool',
+  proname => 'xpath_exists', prolang => 'pgsql', prorettype => 'bool',
   proargtypes => 'text xml',
   prosrc => 'select pg_catalog.xpath_exists($1, $2, \'{}\'::pg_catalog.text[])' },
 { oid => '3051', descr => 'determine if a string is well formed XML',
diff --git a/src/include/catalog/pg_subscription.h b/src/include/catalog/pg_sub.h
similarity index 90%
rename from src/include/catalog/pg_subscription.h
rename to src/include/catalog/pg_sub.h
index 3cb13d897e..6628814833 100644
--- a/src/include/catalog/pg_subscription.h
+++ b/src/include/catalog/pg_sub.h
@@ -18,7 +18,7 @@
 #define PG_SUBSCRIPTION_H
 
 #include "catalog/genbki.h"
-#include "catalog/pg_subscription_d.h"
+#include "catalog/pg_sub_d.h"
 
 #include "nodes/pg_list.h"
 
@@ -36,7 +36,7 @@
  *
  * NOTE:  When adding a column, also update system_views.sql.
  */
-CATALOG(pg_subscription,6100,SubscriptionRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID(6101,SubscriptionRelation_Rowtype_Id) BKI_SCHEMA_MACRO
+CATALOG(pg_sub,6100,SubscriptionRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID(6101,SubscriptionRelation_Rowtype_Id) BKI_SCHEMA_MACRO
 {
 	Oid			oid;			/* oid */
 
@@ -45,12 +45,12 @@ CATALOG(pg_subscription,6100,SubscriptionRelationId) BKI_SHARED_RELATION BKI_ROW
 
 	Oid			subowner;		/* Owner of the subscription */
 
-	bool		subenabled;		/* True if the subscription is enabled (the
+	bool		subactive;		/* True if the subscription is enabled (the
 								 * worker should be running) */
 
 #ifdef CATALOG_VARLEN			/* variable-length fields start here */
 	/* Connection string to the publisher */
-	text		subconninfo BKI_FORCE_NOT_NULL;
+	text		subconn BKI_FORCE_NOT_NULL;
 
 	/* Slot name on publisher */
 	NameData	subslotname;
diff --git a/src/include/catalog/toasting.h b/src/include/catalog/toasting.h
index cc5dfed0bf..40a0c901cd 100644
--- a/src/include/catalog/toasting.h
+++ b/src/include/catalog/toasting.h
@@ -98,7 +98,7 @@ DECLARE_TOAST(pg_shdescription, 2846, 2847);
 DECLARE_TOAST(pg_shseclabel, 4060, 4061);
 #define PgShseclabelToastTable 4060
 #define PgShseclabelToastIndex 4061
-DECLARE_TOAST(pg_subscription, 4183, 4184);
+DECLARE_TOAST(pg_sub, 4183, 4184);
 #define PgSubscriptionToastTable 4183
 #define PgSubscriptionToastIndex 4184
 DECLARE_TOAST(pg_tablespace, 4185, 4186);
diff --git a/src/include/replication/worker_internal.h b/src/include/replication/worker_internal.h
index 05f4936419..d1cf8906a7 100644
--- a/src/include/replication/worker_internal.h
+++ b/src/include/replication/worker_internal.h
@@ -15,7 +15,7 @@
 #include <signal.h>
 
 #include "access/xlogdefs.h"
-#include "catalog/pg_subscription.h"
+#include "catalog/pg_sub.h"
 #include "datatype/timestamp.h"
 #include "storage/lock.h"
 
