feast-dev / feast-dev/feast

The feast registry-dump command fails with PostgreSQL registry (SQL registry type)

Open
#6,764 0 comments 0 reactions 0 assignees View on GitHub
kind/bug priority/p2
Dominant language
Python
Stars
7.3k
Forks
1.4k
Avg merge
1d 21h
Merged PRs (30d)
15

Description

## Expected Behavior

According to the official Feast documentation, the `feast registry-dump` command prints the content of the registry.

## Current Behavior

The `feast registry-dump` command does not work when the registry is configured to be PostgreSQL (`registry_type: sql`).
Using a postgres:14 Docker image for the registry makes it fail with the following error raised by the get_registry_store_class_from_scheme(..) function:

```
Exception: Registry path postgresql+psycopg://:@:5432/ has unsupported scheme postgresql+psycopg. Supported schemes are file, s3 and gs.
```

## Steps to reproduce

Set up a local Feast environment in docker compose using PostgreSQL as registry:

```
postgres:
image: postgres:14
environment:
POSTGRES_DB: feast
POSTGRES_PASSWORD: mysecretpassword
POSTGRES_USER: myusername
ports:
- 5435:5432
```

feature_store.yaml:

```
project:
provider: local
entity_key_serialization_version: 2 # it also fails with 3
registry:
registry_type: sql
path: "postgresql+psycopg://myusername:mysecretpassword@postgres:5432/feast"
offline_store:
...
online_store:
...
```

Then try to run the `feast registry-dump` command in this environment.

### Specifications

- Version: 0.54.0 (but should be present in latest version too, as the registry dump logic is unchanged)
- Platform: Debian GNU/Linux 12 (python:3.11.5-slim Docker image with feast lib v0.54.0)
- Subsystem: SQL registry

## Possible Solution

Fix the command so feast registry-dump works with all supported registry backends.
Or, if limiting registry-dump to file/s3/gs registries is intentional, document that restriction clearly in the CLI reference and have the command fail with an explicit, actionable message (e.g. "registry-dump is not supported for SQL registries; use feast list instead") rather than the generic "unsupported scheme" error.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the failure with the PostgreSQL Docker Compose setup and inspect the feast registry-dump command, especially get_registry_store_class_from_scheme(..). Confirm whether SQL registries should be supported; done means the command works with the PostgreSQL registry or returns a clear, actionable restriction message if they are intentionally unsupported.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, postgresql, python
Domain
cli, databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.