Linux

Where Does LanceDB Store Tables?

LanceDB stores tables in whatever local directory the connect call names, with ~/.lancedb as the docs convention.

Last updated

LanceDB is an embedded library, so there is no fixed data directory. Every script names its own database folder in the connect call. The docs use ~/.lancedb in examples, and tables materialize as data directories below whatever root you pass.

That freedom is also the failure mode. Two scripts pointing at different folders silently maintain two databases. Pick one canonical path per project, keep it in versioned config or an env variable, and treat the folder as the database file it effectively is.

Where LanceDB stores this, by platform

Linux
~/.lancedb

Docs convention for local examples, not a default. Pass any local path to connect. Tables appear in a data subdir below the root you chose.

Frequently asked questions

How do I persist a local LanceDB database?

Pass the same directory string to connect on every run, such as a project data folder. Tables persist as Lance files below it with no server to manage.

Can LanceDB live on S3 instead of disk?

Use an object store URI like s3 with storage options instead of a path. The same table API works, with credentials supplied alongside the URI.

Is there a LanceDB server data directory?

No. There is no server process or config file. The directory you connect to plus optional cloud credentials is the entire deployment.

Notice an outdated path? Let us know.