New index management features added to Felis

Greetings from the Rubin Data Engineering team.

Some new index management features have been added to Felis in response to reports that loading data into tables with indexes in Postgres was performing slowly (GitHub #157).

The command line interface was updated, so that index creation may be skipped when instantiating a database from the YAML file:

felis create --skip-indexes schema.yaml

Additionally, there are two new commands for managing indexes in an existing database.

To create indexes in a database, the following command may be used:

felis create-indexes schema.yaml

And this command will drop all of them:

felis drop-indexes schema.yaml

These new features should facilitate optimized data loading so that the indexes can be easily skipped, created, and dropped when needed.

The easiest way to obtain these new features until there is a new release will be installing from the main branch of felis:

git clone https://github.com/lsst/felis && pip install

Currently, Python 3.13 is the preferred environment.

Thank you for your attention!