mirror of
https://github.com/lancedb/lancedb.git
synced 2026-10-30 15:26:52 +00:00
## Summary - Complete the SQL reference: `ATTACH DATABASE`, the `CHANGES` clause, and `dedupe()`/`duplicate_pairs()` (verified against current sophon source; these were recently renamed from `vector_dedup`/`vector_duplicate_pairs`). Fix the blob-column default-projection claim and add the previously undocumented `blob_descriptor()`. - Enrich the gated Functions draft (still `.mintignore`'d, pre-release): chained Functions over blob outputs, GPU-produced blobs, Secrets, multi-input/output binding, `code=[module]` packaging. - Upgrade the materialized-view and computed-column auto-refresh drafts with precise, verified catch-up semantics, and add the missing `ALTER MATERIALIZED VIEW` / `CREATE ... WITH(...)` sections (also gated — the automatic-refresh scheduler is still dev/staging-only). - Thread one running example (video frames → GPU extract/caption → dedup → auto-refreshing materialized view) through Functions, materialized views, and the LeRobotDataset integration guide instead of a separate tutorial. - Rename "LanceDB OSS"/"OSS" to "LanceDB Embedded"/"Embedded" throughout (52 files); activate the existing availability-comparison mechanism on `basics/offerings.mdx` for a full feature-by-feature comparison table.
51 lines
1.5 KiB
Plaintext
51 lines
1.5 KiB
Plaintext
---
|
|
title: "Database"
|
|
sidebarTitle: "Database"
|
|
description: "ATTACH DATABASE: bind a database to a storage location."
|
|
icon: database
|
|
keywords: ["attach database", "database", "sql", "ddl"]
|
|
availability:
|
|
embedded: unavailable
|
|
enterprise: available
|
|
---
|
|
|
|
A database is the catalog's top-level container: it holds
|
|
[namespaces](/sql/ddl/namespace), which hold tables, views and other objects.
|
|
`ATTACH DATABASE` binds a name to a storage location so its objects become
|
|
reachable.
|
|
|
|
## ATTACH DATABASE {#attach}
|
|
|
|
```sql
|
|
ATTACH DATABASE analytics WITH (location = 'analytics')
|
|
ATTACH DATABASE IF NOT EXISTS analytics WITH (location = 'analytics')
|
|
```
|
|
|
|
`location` is the only supported option, and the only way to say where a
|
|
database lives: a relative subdirectory, never an absolute path or a URI.
|
|
|
|
<Warning>
|
|
An absolute path (`/tmp/db`), an `s3://` or `file://` URI, a Windows path
|
|
(`C:/db`), a `..` segment, an empty string and a doubled slash (`sub//db`)
|
|
are all refused.
|
|
</Warning>
|
|
|
|
`IF NOT EXISTS` makes the statement a no-op rather than an error when the
|
|
database is already attached.
|
|
|
|
<Note>
|
|
A quoted name reaches characters a bare identifier cannot, such as
|
|
`` ATTACH DATABASE "team/search" WITH (location = 'team-search') ``.
|
|
</Note>
|
|
|
|
## What to read next {#next}
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="Namespace" icon="folder-tree" href="/sql/ddl/namespace">
|
|
CREATE SCHEMA inside an attached database.
|
|
</Card>
|
|
<Card title="Table" icon="table" href="/sql/ddl/table">
|
|
Creating tables once a database and namespace exist.
|
|
</Card>
|
|
</CardGroup>
|