From 4d97f6a839436101cfaecd7bf40644967668120f Mon Sep 17 00:00:00 2001 From: Lev Date: Mon, 22 Apr 2024 14:25:36 -0700 Subject: [PATCH 1/4] add diagram --- packages/pgml-rds-proxy/README.md | 2 ++ packages/pgml-rds-proxy/diagram.png | Bin 0 -> 43472 bytes 2 files changed, 2 insertions(+) create mode 100644 packages/pgml-rds-proxy/diagram.png diff --git a/packages/pgml-rds-proxy/README.md b/packages/pgml-rds-proxy/README.md index 6cf35569b..d12b2b0d6 100644 --- a/packages/pgml-rds-proxy/README.md +++ b/packages/pgml-rds-proxy/README.md @@ -2,6 +2,8 @@ A pgcat-based PostgreSQL proxy that allows to use PostgresML functions on managed PostgreSQL databases that may not have Internet access, like AWS RDS. +![Diagram](./diagram.png) + ## Getting started A Docker image is provided and is the easiest way to get started. To run the image, you can simply: diff --git a/packages/pgml-rds-proxy/diagram.png b/packages/pgml-rds-proxy/diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..5552633d92e640586989bfd3d9e04c6b8d67246b GIT binary patch literal 43472 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 Date: Mon, 22 Apr 2024 14:26:06 -0700 Subject: [PATCH 2/4] center --- packages/pgml-rds-proxy/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/pgml-rds-proxy/README.md b/packages/pgml-rds-proxy/README.md index d12b2b0d6..02ca5e253 100644 --- a/packages/pgml-rds-proxy/README.md +++ b/packages/pgml-rds-proxy/README.md @@ -2,8 +2,12 @@ A pgcat-based PostgreSQL proxy that allows to use PostgresML functions on managed PostgreSQL databases that may not have Internet access, like AWS RDS. +
+ ![Diagram](./diagram.png) +
+ ## Getting started A Docker image is provided and is the easiest way to get started. To run the image, you can simply: From 7112b3716546f03bf7aef55971b68363a946ba0a Mon Sep 17 00:00:00 2001 From: Lev Date: Mon, 22 Apr 2024 14:26:46 -0700 Subject: [PATCH 3/4] center --- packages/pgml-rds-proxy/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/pgml-rds-proxy/README.md b/packages/pgml-rds-proxy/README.md index 02ca5e253..a520c54db 100644 --- a/packages/pgml-rds-proxy/README.md +++ b/packages/pgml-rds-proxy/README.md @@ -2,11 +2,11 @@ A pgcat-based PostgreSQL proxy that allows to use PostgresML functions on managed PostgreSQL databases that may not have Internet access, like AWS RDS. -
+

![Diagram](./diagram.png) -

+

## Getting started From 8952a30f0550836d1eb318b46dfc52f30ad7e63c Mon Sep 17 00:00:00 2001 From: Lev Date: Mon, 22 Apr 2024 14:27:26 -0700 Subject: [PATCH 4/4] diagram --- packages/pgml-rds-proxy/README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/pgml-rds-proxy/README.md b/packages/pgml-rds-proxy/README.md index a520c54db..d7ff662de 100644 --- a/packages/pgml-rds-proxy/README.md +++ b/packages/pgml-rds-proxy/README.md @@ -3,9 +3,7 @@ A pgcat-based PostgreSQL proxy that allows to use PostgresML functions on managed PostgreSQL databases that may not have Internet access, like AWS RDS.

- -![Diagram](./diagram.png) - + Diagram

## Getting started pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy