diff --git a/coderd/apidoc/docs.go b/coderd/apidoc/docs.go
index 10d5743688729..a49247c7abf9c 100644
--- a/coderd/apidoc/docs.go
+++ b/coderd/apidoc/docs.go
@@ -7389,11 +7389,13 @@ const docTemplate = `{
             "type": "string",
             "enum": [
                 "moons",
-                "workspace_actions"
+                "workspace_actions",
+                "tailnet_pg_coordinator"
             ],
             "x-enum-varnames": [
                 "ExperimentMoons",
-                "ExperimentWorkspaceActions"
+                "ExperimentWorkspaceActions",
+                "ExperimentTailnetPGCoordinator"
             ]
         },
         "codersdk.Feature": {
diff --git a/coderd/apidoc/swagger.json b/coderd/apidoc/swagger.json
index d93a869c421c2..946e6e4455d53 100644
--- a/coderd/apidoc/swagger.json
+++ b/coderd/apidoc/swagger.json
@@ -6612,8 +6612,12 @@
     },
     "codersdk.Experiment": {
       "type": "string",
-      "enum": ["moons", "workspace_actions"],
-      "x-enum-varnames": ["ExperimentMoons", "ExperimentWorkspaceActions"]
+      "enum": ["moons", "workspace_actions", "tailnet_pg_coordinator"],
+      "x-enum-varnames": [
+        "ExperimentMoons",
+        "ExperimentWorkspaceActions",
+        "ExperimentTailnetPGCoordinator"
+      ]
     },
     "codersdk.Feature": {
       "type": "object",
diff --git a/codersdk/deployment.go b/codersdk/deployment.go
index 028481c8cf41d..34bc0028da8f4 100644
--- a/codersdk/deployment.go
+++ b/codersdk/deployment.go
@@ -1729,6 +1729,10 @@ const (
 	// https://github.com/coder/coder/milestone/19
 	ExperimentWorkspaceActions Experiment = "workspace_actions"
 
+	// ExperimentTailnetPGCoordinator enables the PGCoord in favor of the pubsub-
+	// only Coordinator
+	ExperimentTailnetPGCoordinator Experiment = "tailnet_pg_coordinator"
+
 	// Add new experiments here!
 	// ExperimentExample Experiment = "example"
 )
diff --git a/docs/api/schemas.md b/docs/api/schemas.md
index f71c566a59674..b6083f03e0736 100644
--- a/docs/api/schemas.md
+++ b/docs/api/schemas.md
@@ -2495,10 +2495,11 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
 
 #### Enumerated Values
 
-| Value               |
-| ------------------- |
-| `moons`             |
-| `workspace_actions` |
+| Value                    |
+| ------------------------ |
+| `moons`                  |
+| `workspace_actions`      |
+| `tailnet_pg_coordinator` |
 
 ## codersdk.Feature
 
diff --git a/enterprise/coderd/coderd.go b/enterprise/coderd/coderd.go
index aa460629cd929..6545e599202f3 100644
--- a/enterprise/coderd/coderd.go
+++ b/enterprise/coderd/coderd.go
@@ -414,7 +414,12 @@ func (api *API) updateEntitlements(ctx context.Context) error {
 	if changed, enabled := featureChanged(codersdk.FeatureHighAvailability); changed {
 		coordinator := agpltailnet.NewCoordinator(api.Logger)
 		if enabled {
-			haCoordinator, err := tailnet.NewCoordinator(api.Logger, api.Pubsub)
+			var haCoordinator agpltailnet.Coordinator
+			if api.AGPL.Experiments.Enabled(codersdk.ExperimentTailnetPGCoordinator) {
+				haCoordinator, err = tailnet.NewPGCoord(ctx, api.Logger, api.Pubsub, api.Database)
+			} else {
+				haCoordinator, err = tailnet.NewCoordinator(api.Logger, api.Pubsub)
+			}
 			if err != nil {
 				api.Logger.Error(ctx, "unable to set up high availability coordinator", slog.Error(err))
 				// If we try to setup the HA coordinator and it fails, nothing
diff --git a/site/src/api/typesGenerated.ts b/site/src/api/typesGenerated.ts
index 0e3bb85e7a9f0..e1a1f859578c9 100644
--- a/site/src/api/typesGenerated.ts
+++ b/site/src/api/typesGenerated.ts
@@ -1346,8 +1346,15 @@ export const Entitlements: Entitlement[] = [
 ]
 
 // From codersdk/deployment.go
-export type Experiment = "moons" | "workspace_actions"
-export const Experiments: Experiment[] = ["moons", "workspace_actions"]
+export type Experiment =
+  | "moons"
+  | "tailnet_pg_coordinator"
+  | "workspace_actions"
+export const Experiments: Experiment[] = [
+  "moons",
+  "tailnet_pg_coordinator",
+  "workspace_actions",
+]
 
 // From codersdk/deployment.go
 export type FeatureName =