Skip to content

Commit c86df6b

Browse files
committed
[paradedb] Also allow port to be overridden
This can be helpful to avoid clashing with another locally-running postgres, for example.
1 parent fcbe268 commit c86df6b

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

paradedb/localstack_paradedb/extension.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,27 @@
99
ENV_POSTGRES_USER = "PARADEDB_POSTGRES_USER"
1010
ENV_POSTGRES_PASSWORD = "PARADEDB_POSTGRES_PASSWORD"
1111
ENV_POSTGRES_DB = "PARADEDB_POSTGRES_DB"
12+
ENV_POSTGRES_PORT = "PARADEDB_POSTGRES_PORT"
1213

1314
# Default values
1415
DEFAULT_POSTGRES_USER = "myuser"
1516
DEFAULT_POSTGRES_PASSWORD = "mypassword"
1617
DEFAULT_POSTGRES_DB = "mydatabase"
18+
DEFAULT_POSTGRES_PORT = 5432
1719

1820

1921
class ParadeDbExtension(DatabaseDockerContainerExtension):
2022
name = "paradedb"
2123

2224
# Name of the Docker image to spin up
2325
DOCKER_IMAGE = "paradedb/paradedb"
24-
# Default port for PostgreSQL
25-
POSTGRES_PORT = 5432
2626

2727
def __init__(self):
2828
# Get configuration from environment variables
2929
postgres_user = os.environ.get(ENV_POSTGRES_USER, DEFAULT_POSTGRES_USER)
3030
postgres_password = os.environ.get(ENV_POSTGRES_PASSWORD, DEFAULT_POSTGRES_PASSWORD)
3131
postgres_db = os.environ.get(ENV_POSTGRES_DB, DEFAULT_POSTGRES_DB)
32+
postgres_port = int(os.environ.get(ENV_POSTGRES_PORT, DEFAULT_POSTGRES_PORT))
3233

3334
# Environment variables to pass to the container
3435
env_vars = {
@@ -39,14 +40,15 @@ def __init__(self):
3940

4041
super().__init__(
4142
image_name=self.DOCKER_IMAGE,
42-
container_ports=[self.POSTGRES_PORT],
43+
container_ports=[postgres_port],
4344
env_vars=env_vars,
4445
)
4546

4647
# Store configuration for connection info
4748
self.postgres_user = postgres_user
4849
self.postgres_password = postgres_password
4950
self.postgres_db = postgres_db
51+
self.postgres_port = postgres_port
5052

5153
def get_connection_info(self) -> dict:
5254
"""Return connection information for ParadeDB."""
@@ -55,10 +57,10 @@ def get_connection_info(self) -> dict:
5557
"database": self.postgres_db,
5658
"user": self.postgres_user,
5759
"password": self.postgres_password,
58-
"port": self.POSTGRES_PORT,
60+
"port": self.postgres_port,
5961
"connection_string": (
6062
f"postgresql://{self.postgres_user}:{self.postgres_password}"
61-
f"@{self.container_host}:{self.POSTGRES_PORT}/{self.postgres_db}"
63+
f"@{self.container_host}:{self.postgres_port}/{self.postgres_db}"
6264
),
6365
})
6466
return info

0 commit comments

Comments
 (0)