Skip to content

Problems using seperate postgres reader/writer hosts with pgstac #370

Closed
@nkleinbaer

Description

@nkleinbaer

I'm running into problems when using pgstac with separate reader and writer hosts (in my case an Aurora cluster). Search endpoints return an error similar to the following:

 cannot execute SELECT FOR UPDATE in a read-only transaction

The issue appears to be that the SQL functions defined by pgstac for searching perform operations that require write access (select for update, create temp table, etc). But, the search endpoints connect to the DB through the readpool

request: Request = kwargs["request"]
pool = request.app.state.readpool

This is not a problem when a single host is used for both read and write, as in the docker compose yaml.

- POSTGRES_HOST_READER=database
- POSTGRES_HOST_WRITER=database

When POSTGRES_HOST_READER points to a host that is truly read-only, however, this becomes a problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions