diff --git a/Gemfile.lock b/Gemfile.lock
index 8032bb2be1f..a80d49dab21 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,6 +1,6 @@
GIT
remote: https://github.com/duckdb/rouge.git
- revision: f39c4b2b37a909f33709c81e944d1cac85343f02
+ revision: 28137b96594fa26e60e6aaaf533222fcf7d215a7
branch: duckdb
specs:
rouge (3.3823.1)
diff --git a/_data/menu_docs_dev.json b/_data/menu_docs_dev.json
index 2b696c453cd..8189ece28d4 100644
--- a/_data/menu_docs_dev.json
+++ b/_data/menu_docs_dev.json
@@ -364,6 +364,10 @@
{
"page": "macOS Setup",
"url": "macos"
+ },
+ {
+ "page": "Configuration",
+ "url": "configuration"
}
]
}
diff --git a/docs/api/cli/arguments.md b/docs/api/cli/arguments.md
index ccd64371586..44473c15ea9 100644
--- a/docs/api/cli/arguments.md
+++ b/docs/api/cli/arguments.md
@@ -13,37 +13,37 @@ Fot a list of dot commands available in the CLI shell, see the [Dot Commands pag
| Argument | Description |
|---|-------|
-| `-append` | Append the database to the end of the file |
-| `-ascii` | Set [output mode](output-formats) to `ascii` |
-| `-bail` | Stop after hitting an error |
-| `-batch` | Force batch I/O |
-| `-box` | Set [output mode](output-formats) to `box` |
-| `-column` | Set [output mode](output-formats) to `column` |
-| `-cmd COMMAND` | Run `COMMAND` before reading `stdin` |
-| `-c COMMAND` | Run `COMMAND` and exit |
-| `-csv` | Set [output mode](output-formats) to `csv` |
-| `-echo` | Print commands before execution |
-| `-init FILENAME` | Run the script in `FILENAME` upon startup (instead of `~./duckdbrc`) |
-| `-header` | Turn headers on |
-| `-help` | Show this message |
-| `-html` | Set [output mode](output-formats) to HTML |
-| `-interactive` | Force interactive I/O |
-| `-json` | Set [output mode](output-formats) to `json` |
-| `-line` | Set [output mode](output-formats) to `line` |
-| `-list` | Set [output mode](output-formats) to `list` |
-| `-markdown` | Set [output mode](output-formats) to `markdown` |
-| `-newline SEP` | Set output row separator. Default: `\n` |
-| `-nofollow` | Refuse to open symbolic links to database files |
-| `-noheader` | Turn headers off |
-| `-no-stdin` | Exit after processing options instead of reading stdin |
-| `-nullvalue TEXT` | Set text string for `NULL` values. Default: empty string |
-| `-quote` | Set [output mode](output-formats) to `quote` |
-| `-readonly` | Open the database read-only |
-| `-s COMMAND` | Run `COMMAND` and exit |
-| `-separator SEP` | Set output column separator to SEP. Default: `|` |
-| `-stats` | Print memory stats before each finalize |
-| `-table` | Set [output mode](output-formats) to `table` |
-| `-unsigned` | Allow loading of unsigned extensions |
-| `-version` | Show DuckDB version |
+| `-append` | Append the database to the end of the file |
+| `-ascii` | Set [output mode](output-formats) to `ascii` |
+| `-bail` | Stop after hitting an error |
+| `-batch` | Force batch I/O |
+| `-box` | Set [output mode](output-formats) to `box` |
+| `-column` | Set [output mode](output-formats) to `column` |
+| `-cmd COMMAND` | Run `COMMAND` before reading `stdin` |
+| `-c COMMAND` | Run `COMMAND` and exit |
+| `-csv` | Set [output mode](output-formats) to `csv` |
+| `-echo` | Print commands before execution |
+| `-init FILENAME` | Run the script in `FILENAME` upon startup (instead of `~./duckdbrc`) |
+| `-header` | Turn headers on |
+| `-help` | Show this message |
+| `-html` | Set [output mode](output-formats) to HTML |
+| `-interactive` | Force interactive I/O |
+| `-json` | Set [output mode](output-formats) to `json` |
+| `-line` | Set [output mode](output-formats) to `line` |
+| `-list` | Set [output mode](output-formats) to `list` |
+| `-markdown` | Set [output mode](output-formats) to `markdown` |
+| `-newline SEP` | Set output row separator. Default: `\n` |
+| `-nofollow` | Refuse to open symbolic links to database files |
+| `-noheader` | Turn headers off |
+| `-no-stdin` | Exit after processing options instead of reading stdin |
+| `-nullvalue TEXT` | Set text string for `NULL` values. Default: empty string |
+| `-quote` | Set [output mode](output-formats) to `quote` |
+| `-readonly` | Open the database read-only |
+| `-s COMMAND` | Run `COMMAND` and exit |
+| `-separator SEP` | Set output column separator to SEP. Default: `|` |
+| `-stats` | Print memory stats before each finalize |
+| `-table` | Set [output mode](output-formats) to `table` |
+| `-unsigned` | Allow loading of [unsigned extensions](../../extensions/overview#unsigned-extensions) |
+| `-version` | Show DuckDB version |
diff --git a/docs/api/odbc/configuration.md b/docs/api/odbc/configuration.md
new file mode 100644
index 00000000000..78f5d45d4c2
--- /dev/null
+++ b/docs/api/odbc/configuration.md
@@ -0,0 +1,48 @@
+---
+layout: docu
+title: ODBC Configuration
+---
+
+This page documents the files using the ODBC configuration.
+
+## The `odbc.ini` or `.odbc.ini` File
+
+The `.odbc.ini` contains the DSNs for the drivers, which can have specific knobs.
+
+Example of `.odbc.ini` with DuckDB:
+
+```ini
+[DuckDB]
+Driver = DuckDB Driver
+Database = :memory:
+access_mode = read_only
+allow_unsigned_extensions = true
+```
+
+* `[DuckDB]`: between the brackets is a DSN for the DuckDB.
+* `Driver`: Describes the driver's name, as well as where to find the configurations in the `.odbcinst.ini`.
+* `Database`: Describes the database name used by DuckDB, can also be a file path to a `.db` in the system.
+* `access_mode`: The mode in which to connect to the database.
+* `allow_unsigned_extensions`: Allow the use of [unsigned extensions](../../extensions/overview#unsigned-extensions).
+
+## The `.odbcinst.ini` File
+
+The `.odbcinst.ini` contains general configurations for the ODBC installed drivers in the system.
+A driver section starts with the driver name between brackets, and then it follows specific configuration knobs belonging to that driver.
+
+Example of `.odbcinst.ini` with the DuckDB:
+
+```ini
+[ODBC]
+Trace = yes
+TraceFile = /tmp/odbctrace
+
+[DuckDB Driver]
+Driver = /path/to/libduckdb_odbc.dylib
+```
+
+* `[ODBC]`: it is the DM configuration section.
+* `Trace`: it enables the ODBC trace file using the option `yes`.
+* `TraceFile`: the absolute system file path for the ODBC trace file.
+* `[DuckDB Driver]`: the section of the DuckDB installed driver.
+* `Driver`: the absolute system file path of the DuckDB driver. Change to match your configuration.
diff --git a/docs/api/odbc/linux.md b/docs/api/odbc/linux.md
index 381ab21adc6..28822f8fc6e 100644
--- a/docs/api/odbc/linux.md
+++ b/docs/api/odbc/linux.md
@@ -90,40 +90,4 @@ The ODBC setup on Linux is based on files, the well-known `.odbc.ini` and `.odbc
These files can be placed at the system `/etc` directory or at the user home directory `/home/⟨user⟩` (shortcut as `~/`).
The DM prioritizes the user configuration files and then the system files.
-### The `.odbc.ini` File
-
-The `.odbc.ini` contains the DSNs for the drivers, which can have specific knobs.
-
-An example of `.odbc.ini` with DuckDB would be:
-
-```ini
-[DuckDB]
-Driver = DuckDB Driver
-Database = :memory:
-```
-
-* `[DuckDB]`: between the brackets is a DSN for the DuckDB.
-* `Driver`: it describes the driver's name, and other configurations will be placed at the `.odbcinst.ini`.
-* `Database`: it describes the database name used by DuckDB, and it can also be a file path to a `.db` in the system.
-
-### The `.odbcinst.ini` File
-
-The `.odbcinst.ini` contains general configurations for the ODBC installed drivers in the system.
-A driver section starts with the driver name between brackets, and then it follows specific configuration knobs belonging to that driver.
-
-An example of `.odbcinst.ini` with the DuckDB driver would be:
-
-```ini
-[ODBC]
-Trace = yes
-TraceFile = /tmp/odbctrace
-
-[DuckDB Driver]
-Driver = /home/⟨user⟩/duckdb_odbc/libduckdb_odbc.so
-```
-
-* `[ODBC]`: it is the DM configuration section.
-* `Trace`: it enables the ODBC trace file using the option `yes`.
-* `TraceFile`: the absolute system file path for the ODBC trace file.
-* `[DuckDB Driver]`: the section of the DuckDB installed driver.
-* `Driver`: the absolute system file path of the DuckDB driver.
+See the [ODBC configuration page](configuration) for details.
diff --git a/docs/api/odbc/macos.md b/docs/api/odbc/macos.md
index cd60af4c821..c711d6df81c 100644
--- a/docs/api/odbc/macos.md
+++ b/docs/api/odbc/macos.md
@@ -15,9 +15,11 @@ brew install unixodbc
## Step 1: Download ODBC Driver
-DuckDB releases the ODBC driver as asset. For macOS, download it from the ODBC macOS asset that contains the following artifacts:
+DuckDB releases the ODBC driver as asset. For macOS, download it from the ODBC macOS asset that contains the `libduckdb_odbc.dylib` artifact, the DuckDB ODBC driver compiled to macOS (with Intel and Apple Silicon support).
-`libduckdb_odbc.dylib`: the DuckDB ODBC driver compiled to macOS (with Intel and Apple Silicon support).
+```bash
+wget https://github.com/duckdb/duckdb/releases/download/v{{ site.currentduckdbversion }}/duckdb_odbc-osx-universal.zip
+```
## Step 2: Extracting ODBC Artifacts
@@ -30,7 +32,7 @@ unzip duckdb_odbc-osx-universal.zip -d duckdb_odbc
## Step 3: Configure the ODBC Driver
-There are two ways to configure the ODBC driver, either by initializing the configuration files listed below,
+There are two ways to configure the ODBC driver, either by initializing via the configuration files,
or by connecting with [`SQLDriverConnect`](https://learn.microsoft.com/en-us/sql/odbc/reference/syntax/sqldriverconnect-function?view=sql-server-ver16).
A combination of the two is also possible.
@@ -39,47 +41,7 @@ Furthermore, the ODBC driver supports all the [configuration options](../../conf
> If a configuration is set in both the connection string passed to `SQLDriverConnect` and in the `odbc.ini` file,
> the one passed to `SQLDriverConnect` will take precedence.
-### The `odbc.ini` or `.odbc.ini` File
-
-The `.odbc.ini` contains the DSNs for the drivers, which can have specific knobs.
-
-Example of `.odbc.ini` with DuckDB:
-
-```ini
-[DuckDB]
-Driver = DuckDB Driver
-Database=:memory:
-access_mode=read_only
-allow_unsigned_extensions=true
-```
-
-* `[DuckDB]`: between the brackets is a DSN for the DuckDB.
-* `Driver`: Describes the driver's name, as well as where to find the configurations in the `.odbcinst.ini`.
-* `Database`: Describes the database name used by DuckDB, can also be a file path to a `.db` in the system.
-* `access_mode`: The mode in which to connect to the database
-* `allow_unsigned_extensions`: Allow the use of unsigned extensions
-
-### The `.odbcinst.ini` File
-
-The `.odbcinst.ini` contains general configurations for the ODBC installed drivers in the system.
-A driver section starts with the driver name between brackets, and then it follows specific configuration knobs belonging to that driver.
-
-Example of `.odbcinst.ini` with the DuckDB:
-
-```ini
-[ODBC]
-Trace = yes
-TraceFile = /tmp/odbctrace
-
-[DuckDB Driver]
-Driver = /User/⟨user⟩/duckdb_odbc/libduckdb_odbc.dylib
-```
-
-* `[ODBC]`: it is the DM configuration section.
-* `Trace`: it enables the ODBC trace file using the option `yes`.
-* `TraceFile`: the absolute system file path for the ODBC trace file.
-* `[DuckDB Driver]`: the section of the DuckDB installed driver.
-* `Driver`: the absolute system file path of the DuckDB driver.
+See the [ODBC configuration page](configuration) for details.
## Step 4 (Optional): Test the ODBC Driver
diff --git a/docs/api/odbc/windows.md b/docs/api/odbc/windows.md
index c1432b6957e..da9c519df12 100644
--- a/docs/api/odbc/windows.md
+++ b/docs/api/odbc/windows.md
@@ -9,7 +9,7 @@ For detailed information check out the [Common ODBC Component Files](https://doc
## Step 1: Download ODBC Driver
-DuckDB releases the ODBC driver as asset. For Windows, download it from Windows Asset that contains the following artifacts:
+DuckDB releases the ODBC driver as asset. For Windows, download it from Windows Asset (AMD64/x86) that contains the following artifacts:
* `duckdb_odbc.dll`: the DuckDB driver compiled for Windows.
* `duckdb_odbc_setup.dll`: a setup DLL used by the Windows ODBC Data Source Administrator tool.
@@ -75,6 +75,8 @@ included in DuckDB.
> If a configuration is set in both the connection string passed to `SQLDriverConnect` and in the `odbc.ini` file,
> the one passed to `SQLDriverConnect` will take precedence.
+See the [ODBC configuration page](configuration) for details.
+
### Registry Keys
The ODBC setup on Windows is based on registry keys (see [Registry Entries for ODBC Components