Merge branch 'master' into telegraf-release

pull/6146/head
Jason Stirnaman 2025-07-01 19:36:49 -05:00 committed by GitHub
commit eb6c17f325
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
187 changed files with 7210 additions and 5027 deletions

44
.context/README.md Normal file
View File

@ -0,0 +1,44 @@
# Context Files for LLMs and AI Tools
This directory contains plans, reports, and other context files that are:
- Used to provide context to LLMs during development
- Not committed to the repository
- May be transient or belong in other repositories
## Directory Structure
- `plans/` - Documentation plans and roadmaps
- `reports/` - Generated reports and analyses
- `research/` - Research notes and findings
- `templates/` - Reusable templates for Claude interactions
## Usage
Place files here that you want to reference--for example, using @ mentions in Claude--such as:
- Documentation planning documents
- API migration guides
- Performance reports
- Architecture decisions
## Example Structure
```
.context/
├── plans/
│ ├── v3.2-release-plan.md
│ └── api-migration-guide.md
├── reports/
│ ├── weekly-progress-2025-07.md
│ └── pr-summary-2025-06.md
├── research/
│ └── competitor-analysis.md
└── templates/
└── release-notes-template.md
```
## Best Practices
1. Use descriptive filenames that indicate the content and date
2. Keep files organized in appropriate subdirectories
3. Consider using date prefixes for time-sensitive content (e.g., `2025-07-01-meeting-notes.md`)
4. Remove outdated files periodically to keep the context relevant

View File

@ -1,13 +1,16 @@
# GitHub Copilot Instructions for InfluxData Documentation
# Instructions for InfluxData Documentation
## Purpose and scope
GitHub Copilot should help document InfluxData products by creating clear, accurate technical content with proper code examples, frontmatter, and formatting.
Help document InfluxData products by creating clear, accurate technical content with proper code examples, frontmatter, and formatting.
## Documentation structure
- **Product version data**: `/data/products.yml`
- **Products**:
- **InfluxData products**:
- InfluxDB 3 Explorer
- Documentation source path: `/content/influxdb3/explorer`
- Published for the web: https://docs.influxdata.com/influxdb3/explorer/
- InfluxDB 3 Core
- Documentation source path: `/content/influxdb3/core`
- Published for the web: https://docs.influxdata.com/influxdb3/core/
@ -92,7 +95,8 @@ GitHub Copilot should help document InfluxData products by creating clear, accur
## Markdown and shortcodes
- Include proper frontmatter for each page:
- Include proper frontmatter for Markdown pages in `content/**/*.md` (except for
shared content files in `content/shared/`):
```yaml
title: # Page title (h1)
@ -180,3 +184,17 @@ Table: keys: [_start, _stop, _field, _measurement]
## Related repositories
- **Internal documentation assistance requests**: https://github.com/influxdata/DAR/issues Documentation
## Additional instruction files
For specific workflows and content types, also refer to:
- **InfluxDB 3 code placeholders**: `.github/instructions/influxdb3-code-placeholders.instructions.md` - Guidelines for placeholder formatting, descriptions, and shortcode usage in InfluxDB 3 documentation
- **Contributing guidelines**: `.github/instructions/contributing.instructions.md` - Detailed style guidelines, shortcode usage, frontmatter requirements, and development workflows
- **Content-specific instructions**: Check `.github/instructions/` directory for specialized guidelines covering specific documentation patterns and requirements
## Integration with specialized instructions
When working on InfluxDB 3 documentation (Core/Enterprise), prioritize the placeholder guidelines from `influxdb3-code-placeholders.instructions.md`.
For general documentation structure, shortcodes, and development workflows, follow the comprehensive guidelines in `contributing.instructions.md`.

File diff suppressed because it is too large Load Diff

8
.gitignore vendored
View File

@ -15,7 +15,7 @@ node_modules
!telegraf-build/templates
!telegraf-build/scripts
!telegraf-build/README.md
/cypress/downloads
/cypress/downloads/*
/cypress/screenshots/*
/cypress/videos/*
test-results.xml
@ -25,4 +25,8 @@ test-results.xml
.idea
**/config.toml
package-lock.json
tmp
tmp
# Context files for LLMs and AI tools
.context/*
!.context/README.md

25
CLAUDE.md Normal file
View File

@ -0,0 +1,25 @@
# Instructions for InfluxData Documentation
## Purpose and scope
Claude should help document InfluxData products by creating clear, accurate technical content with proper code examples, frontmatter, and formatting.
## Project overview
See @README.md
## Available NPM commands
@package.json
## Instructions for contributing
See @.github/copilot-instructions.md for style guidelines and
product-specific documentation paths and URLs managed in this project.
See @.github/instructions/contributing.instructions.md for contributing
information including using shortcodes and running tests.
See @.github/instructions/influxdb3-code-placeholders.instructions.md for using
placeholders in code samples and CLI commands.

View File

@ -363,6 +363,9 @@ list_query_example:# Code examples included with article descriptions in childre
# References to examples in data/query_examples
canonical: # Path to canonical page, overrides auto-gen'd canonical URL
v2: # Path to v2 equivalent page
alt_links: # Alternate pages in other products/versions for cross-product navigation
cloud-dedicated: /influxdb3/cloud-dedicated/path/to/page/
core: /influxdb3/core/path/to/page/
prepend: # Prepend markdown content to an article (especially powerful with cascade)
block: # (Optional) Wrap content in a block style (note, warn, cloud)
content: # Content to prepend to article
@ -454,6 +457,29 @@ add the following frontmatter to the 1.x page:
v2: /influxdb/v2.0/get-started/
```
### Alternative links for cross-product navigation
Use the `alt_links` frontmatter to specify equivalent pages in other InfluxDB products,
for example, when a page exists at a different path in a different version or if
the feature doesn't exist in that product.
This enables the product switcher to navigate users to the corresponding page when they
switch between products. If a page doesn't exist in another product (for example, an
Enterprise-only feature), point to the nearest parent page if relevant.
```yaml
alt_links:
cloud-dedicated: /influxdb3/cloud-dedicated/admin/tokens/create-token/
cloud-serverless: /influxdb3/cloud-serverless/admin/tokens/create-token/
core: /influxdb3/core/reference/cli/influxdb3/update/ # Points to parent if exact page doesn't exist
```
Supported product keys for InfluxDB 3:
- `core`
- `enterprise`
- `cloud-serverless`
- `cloud-dedicated`
- `clustered`
### Prepend and append content to a page
Use the `prepend` and `append` frontmatter to add content to the top or bottom of a page.

View File

@ -922,9 +922,25 @@ paths:
summary: Delete a database
description: |
Soft deletes a database.
The database is scheduled for deletion and unavailable for querying.
The database is scheduled for deletion and unavailable for querying.
Use the `hard_delete_at` parameter to schedule a hard deletion.
parameters:
- $ref: '#/components/parameters/db'
- name: hard_delete_at
in: query
required: false
schema:
type: string
format: date-time
description: |
Schedule the database for hard deletion at the specified time.
If not provided, the database will be soft deleted.
Use ISO 8601 date-time format (for example, "2025-12-31T23:59:59Z").
#### Deleting a database cannot be undone
Deleting a database is a destructive action.
Once a database is deleted, data stored in that database cannot be recovered.
responses:
'200':
description: Success. Database deleted.
@ -961,7 +977,13 @@ paths:
summary: Delete a table
description: |
Soft deletes a table.
The table is scheduled for deletion and unavailable for querying.
The table is scheduled for deletion and unavailable for querying.
Use the `hard_delete_at` parameter to schedule a hard deletion.
#### Deleting a table cannot be undone
Deleting a table is a destructive action.
Once a table is deleted, data stored in that table cannot be recovered.
parameters:
- $ref: '#/components/parameters/db'
- name: table
@ -969,6 +991,16 @@ paths:
required: true
schema:
type: string
- name: hard_delete_at
in: query
required: false
schema:
type: string
format: date-time
description: |
Schedule the table for hard deletion at the specified time.
If not provided, the table will be soft deleted.
Use ISO 8601 format (for example, "2025-12-31T23:59:59Z").
responses:
'200':
description: Success (no content). The table has been deleted.
@ -1078,7 +1110,7 @@ paths:
In `"cron:CRON_EXPRESSION"`, `CRON_EXPRESSION` uses extended 6-field cron format.
The cron expression `0 0 6 * * 1-5` means the trigger will run at 6:00 AM every weekday (Monday to Friday).
value:
db: DATABASE_NAME
db: mydb
plugin_filename: schedule.py
trigger_name: schedule_cron_trigger
trigger_specification: cron:0 0 6 * * 1-5
@ -1136,7 +1168,7 @@ paths:
db: mydb
plugin_filename: request.py
trigger_name: hello_world_trigger
trigger_specification: path:hello-world
trigger_specification: request:hello-world
cron_friday_afternoon:
summary: Cron trigger for Friday afternoons
description: |
@ -1365,16 +1397,16 @@ paths:
description: Plugin not enabled.
tags:
- Processing engine
/api/v3/engine/{plugin_path}:
/api/v3/engine/{request_path}:
parameters:
- name: plugin_path
- name: request_path
description: |
The path configured in the request trigger specification "path:<plugin_path>"` for the plugin.
The path configured in the request trigger specification for the plugin.
For example, if you define a trigger with the following:
```json
trigger-spec: "path:hello-world"
trigger_specification: "request:hello-world"
```
then, the HTTP API exposes the following plugin endpoint:
@ -1390,7 +1422,7 @@ paths:
operationId: GetProcessingEnginePluginRequest
summary: On Request processing engine plugin request
description: |
Executes the On Request processing engine plugin specified in `<plugin_path>`.
Executes the On Request processing engine plugin specified in the trigger's `plugin_filename`.
The request can include request headers, query string parameters, and a request body, which InfluxDB passes to the plugin.
An On Request plugin implements the following signature:
@ -1417,7 +1449,7 @@ paths:
operationId: PostProcessingEnginePluginRequest
summary: On Request processing engine plugin request
description: |
Executes the On Request processing engine plugin specified in `<plugin_path>`.
Executes the On Request processing engine plugin specified in the trigger's `plugin_filename`.
The request can include request headers, query string parameters, and a request body, which InfluxDB passes to the plugin.
An On Request plugin implements the following signature:
@ -1868,7 +1900,7 @@ components:
`schedule.py` or `endpoints/report.py`.
The path can be absolute or relative to the `--plugins-dir` directory configured when starting InfluxDB 3.
The plugin file must implement the trigger interface associated with the trigger's specification (`trigger_spec`).
The plugin file must implement the trigger interface associated with the trigger's specification.
trigger_name:
type: string
trigger_specification:
@ -1911,12 +1943,12 @@ components:
- `table:TABLE_NAME` - Triggers on write events to a specific table
### On-demand triggers
Format: `path:ENDPOINT_NAME`
Format: `request:REQUEST_PATH`
Creates an HTTP endpoint `/api/v3/engine/ENDPOINT_NAME` for manual invocation:
- `path:hello-world` - Creates endpoint `/api/v3/engine/hello-world`
- `path:data-export` - Creates endpoint `/api/v3/engine/data-export`
pattern: ^(cron:[0-9 *,/-]+|every:[0-9]+[smhd]|all_tables|table:[a-zA-Z_][a-zA-Z0-9_]*|path:[a-zA-Z0-9_-]+)$
Creates an HTTP endpoint `/api/v3/engine/REQUEST_PATH` for manual invocation:
- `request:hello-world` - Creates endpoint `/api/v3/engine/hello-world`
- `request:data-export` - Creates endpoint `/api/v3/engine/data-export`
pattern: ^(cron:[0-9 *,/-]+|every:[0-9]+[smhd]|all_tables|table:[a-zA-Z_][a-zA-Z0-9_]*|request:[a-zA-Z0-9_-]+)$
example: cron:0 0 6 * * 1-5
trigger_arguments:
type: object
@ -2013,6 +2045,65 @@ components:
- m
- h
type: string
UpdateDatabaseRequest:
type: object
properties:
retention_period:
type: string
description: |
The retention period for the database. Specifies how long data should be retained.
Use duration format (for example, "1d", "1h", "30m", "7d").
example: "7d"
description: Request schema for updating database configuration.
UpdateTableRequest:
type: object
properties:
db:
type: string
description: The name of the database containing the table.
table:
type: string
description: The name of the table to update.
retention_period:
type: string
description: |
The retention period for the table. Specifies how long data in this table should be retained.
Use duration format (for example, "1d", "1h", "30m", "7d").
example: "30d"
required:
- db
- table
description: Request schema for updating table configuration.
LicenseResponse:
type: object
properties:
license_type:
type: string
description: The type of license (for example, "enterprise", "trial").
example: "enterprise"
expires_at:
type: string
format: date-time
description: The expiration date of the license in ISO 8601 format.
example: "2025-12-31T23:59:59Z"
features:
type: array
items:
type: string
description: List of features enabled by the license.
example:
- "clustering"
- "processing_engine"
- "advanced_auth"
status:
type: string
enum:
- "active"
- "expired"
- "invalid"
description: The current status of the license.
example: "active"
description: Response schema for license information.
responses:
Unauthorized:
description: Unauthorized access.

View File

@ -922,9 +922,25 @@ paths:
summary: Delete a database
description: |
Soft deletes a database.
The database is scheduled for deletion and unavailable for querying.
The database is scheduled for deletion and unavailable for querying.
Use the `hard_delete_at` parameter to schedule a hard deletion.
parameters:
- $ref: '#/components/parameters/db'
- name: hard_delete_at
in: query
required: false
schema:
type: string
format: date-time
description: |
Schedule the database for hard deletion at the specified time.
If not provided, the database will be soft deleted.
Use ISO 8601 date-time format (for example, "2025-12-31T23:59:59Z").
#### Deleting a database cannot be undone
Deleting a database is a destructive action.
Once a database is deleted, data stored in that database cannot be recovered.
responses:
'200':
description: Success. Database deleted.
@ -961,7 +977,13 @@ paths:
summary: Delete a table
description: |
Soft deletes a table.
The table is scheduled for deletion and unavailable for querying.
The table is scheduled for deletion and unavailable for querying.
Use the `hard_delete_at` parameter to schedule a hard deletion.
#### Deleting a table cannot be undone
Deleting a table is a destructive action.
Once a table is deleted, data stored in that table cannot be recovered.
parameters:
- $ref: '#/components/parameters/db'
- name: table
@ -969,6 +991,16 @@ paths:
required: true
schema:
type: string
- name: hard_delete_at
in: query
required: false
schema:
type: string
format: date-time
description: |
Schedule the table for hard deletion at the specified time.
If not provided, the table will be soft deleted.
Use ISO 8601 format (for example, "2025-12-31T23:59:59Z").
responses:
'200':
description: Success (no content). The table has been deleted.
@ -978,6 +1010,77 @@ paths:
description: Table not found.
tags:
- Table
patch:
operationId: PatchConfigureTable
summary: Update a table
description: |
Updates table configuration, such as retention period.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTableRequest'
responses:
'200':
description: Success. The table has been updated.
'400':
description: Bad request.
'401':
$ref: '#/components/responses/Unauthorized'
'404':
description: Table not found.
tags:
- Table
/api/v3/configure/database/{db}:
patch:
operationId: PatchConfigureDatabase
summary: Update a database
description: |
Updates database configuration, such as retention period.
parameters:
- name: db
in: path
required: true
schema:
type: string
description: The name of the database to update.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDatabaseRequest'
responses:
'200':
description: Success. The database has been updated.
'400':
description: Bad request.
'401':
$ref: '#/components/responses/Unauthorized'
'404':
description: Database not found.
tags:
- Database
/api/v3/show/license:
get:
operationId: GetShowLicense
summary: Show license information
description: |
Retrieves information about the current InfluxDB 3 Enterprise license.
responses:
'200':
description: Success. The response body contains license information.
content:
application/json:
schema:
$ref: '#/components/schemas/LicenseResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
description: Access denied.
tags:
- Server information
/api/v3/configure/distinct_cache:
post:
operationId: PostConfigureDistinctCache
@ -1136,7 +1239,8 @@ paths:
db: mydb
plugin_filename: request.py
trigger_name: hello_world_trigger
trigger_specification: path:hello-world
# trigger_specification: "request:hello-world" - For 3.2.1 (issue#6171)
trigger_specification: {"request_path": {"path": "hello-world"}}
cron_friday_afternoon:
summary: Cron trigger for Friday afternoons
description: |
@ -1365,23 +1469,26 @@ paths:
description: Plugin not enabled.
tags:
- Processing engine
/api/v3/engine/{plugin_path}:
/api/v3/engine/{request_path}:
parameters:
- name: plugin_path
- name: request_path
description: |
The path configured in the request trigger specification "path:<plugin_path>"` for the plugin.
The path configured in the request trigger specification for the plugin.
For example, if you define a trigger with the following:
```json
trigger-spec: "path:hello-world"
trigger_specification: {"request_path": {"path": "hello-world"}}
```
then, the HTTP API exposes the following plugin endpoint:
```
<INFLUXDB3_HOST>/api/v3/engine/hello-world
```
***Note:*** Currently, due to a bug in InfluxDB 3 Enterprise, the request trigger specification is different from Core.
in: path
required: true
schema:
@ -1390,7 +1497,7 @@ paths:
operationId: GetProcessingEnginePluginRequest
summary: On Request processing engine plugin request
description: |
Executes the On Request processing engine plugin specified in `<plugin_path>`.
Executes the On Request processing engine plugin specified in the trigger's `plugin_filename`.
The request can include request headers, query string parameters, and a request body, which InfluxDB passes to the plugin.
An On Request plugin implements the following signature:
@ -1417,7 +1524,7 @@ paths:
operationId: PostProcessingEnginePluginRequest
summary: On Request processing engine plugin request
description: |
Executes the On Request processing engine plugin specified in `<plugin_path>`.
Executes the On Request processing engine plugin specified in the trigger's `plugin_filename`.
The request can include request headers, query string parameters, and a request body, which InfluxDB passes to the plugin.
An On Request plugin implements the following signature:
@ -1812,6 +1919,16 @@ components:
properties:
db:
type: string
pattern: '^[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]$|^[a-zA-Z0-9]$'
description: |-
The database name. Database names cannot contain underscores (_).
Names must start and end with alphanumeric characters and can contain hyphens (-) in the middle.
retention_period:
type: string
description: |-
The retention period for the database. Specifies how long data should be retained.
Use duration format (for example, "1d", "1h", "30m", "7d").
example: "7d"
required:
- db
CreateTableRequest:
@ -1843,6 +1960,12 @@ components:
required:
- name
- type
retention_period:
type: string
description: |-
The retention period for the table. Specifies how long data in this table should be retained.
Use duration format (for example, "1d", "1h", "30m", "7d").
example: "30d"
required:
- db
- table
@ -1929,11 +2052,10 @@ components:
`schedule.py` or `endpoints/report.py`.
The path can be absolute or relative to the `--plugins-dir` directory configured when starting InfluxDB 3.
The plugin file must implement the trigger interface associated with the trigger's specification (`trigger_spec`).
The plugin file must implement the trigger interface associated with the trigger's specification.
trigger_name:
type: string
trigger_specification:
type: string
description: |
Specifies when and how the processing engine trigger should be invoked.
@ -1972,12 +2094,25 @@ components:
- `table:TABLE_NAME` - Triggers on write events to a specific table
### On-demand triggers
Format: `path:ENDPOINT_NAME`
Format: `{"request_path": {"path": "REQUEST_PATH"}}`
Creates an HTTP endpoint `/api/v3/engine/ENDPOINT_NAME` for manual invocation:
- `path:hello-world` - Creates endpoint `/api/v3/engine/hello-world`
- `path:data-export` - Creates endpoint `/api/v3/engine/data-export`
pattern: ^(cron:[0-9 *,/-]+|every:[0-9]+[smhd]|all_tables|table:[a-zA-Z_][a-zA-Z0-9_]*|path:[a-zA-Z0-9_-]+)$
Creates an HTTP endpoint `/api/v3/engine/REQUEST_PATH` for manual invocation:
- `{"request_path": {"path": "hello-world"}}` - Creates endpoint `/api/v3/engine/hello-world`
- `{"request_path": {"path": "data-export"}}` - Creates endpoint `/api/v3/engine/data-export`
***Note:*** Currently, due to a bug in InfluxDB 3 Enterprise, the request trigger specification is different from Core. Use the JSON object format shown above.
oneOf:
- type: string
pattern: ^(cron:[0-9 *,/-]+|every:[0-9]+[smhd]|all_tables|table:[a-zA-Z_][a-zA-Z0-9_]*)$
- type: object
properties:
request_path:
type: object
properties:
path:
type: string
pattern: ^[a-zA-Z0-9_-]+$
example: cron:0 0 6 * * 1-5
trigger_arguments:
type: object
@ -2074,6 +2209,65 @@ components:
- m
- h
type: string
UpdateDatabaseRequest:
type: object
properties:
retention_period:
type: string
description: |
The retention period for the database. Specifies how long data should be retained.
Use duration format (for example, "1d", "1h", "30m", "7d").
example: "7d"
description: Request schema for updating database configuration.
UpdateTableRequest:
type: object
properties:
db:
type: string
description: The name of the database containing the table.
table:
type: string
description: The name of the table to update.
retention_period:
type: string
description: |
The retention period for the table. Specifies how long data in this table should be retained.
Use duration format (for example, "1d", "1h", "30m", "7d").
example: "30d"
required:
- db
- table
description: Request schema for updating table configuration.
LicenseResponse:
type: object
properties:
license_type:
type: string
description: The type of license (for example, "enterprise", "trial").
example: "enterprise"
expires_at:
type: string
format: date-time
description: The expiration date of the license in ISO 8601 format.
example: "2025-12-31T23:59:59Z"
features:
type: array
items:
type: string
description: List of features enabled by the license.
example:
- "clustering"
- "processing_engine"
- "advanced_auth"
status:
type: string
enum:
- "active"
- "expired"
- "invalid"
description: The current status of the license.
example: "active"
description: Response schema for license information.
responses:
Unauthorized:
description: Unauthorized access.

View File

@ -1,4 +1,5 @@
import $ from 'jquery';
import { context } from './page-context.js';
function initialize() {
var codeBlockSelector = '.article--content pre';
@ -68,9 +69,94 @@ function initialize() {
// Trigger copy failure state lifecycle
$('.copy-code').click(function () {
let text = $(this)
let codeElement = $(this)
.closest('.code-controls')
.prevAll('pre:has(code)')[0].innerText;
.prevAll('pre:has(code)')[0];
let text = codeElement.innerText;
// Extract additional code block information
const codeBlockInfo = extractCodeBlockInfo(codeElement);
// Add Google Analytics event tracking
const currentUrl = new URL(window.location.href);
// Determine which tracking parameter to add based on product context
switch (context) {
case 'cloud':
currentUrl.searchParams.set('dl', 'cloud');
break;
case 'core':
/** Track using the same value used by www.influxdata.com pages */
currentUrl.searchParams.set('dl', 'oss3');
break;
case 'enterprise':
/** Track using the same value used by www.influxdata.com pages */
currentUrl.searchParams.set('dl', 'enterprise');
break;
case 'serverless':
currentUrl.searchParams.set('dl', 'serverless');
break;
case 'dedicated':
currentUrl.searchParams.set('dl', 'dedicated');
break;
case 'clustered':
currentUrl.searchParams.set('dl', 'clustered');
break;
case 'oss/enterprise':
currentUrl.searchParams.set('dl', 'oss');
break;
case 'other':
default:
// No tracking parameter for other/unknown products
break;
}
// Add code block specific tracking parameters
if (codeBlockInfo.language) {
currentUrl.searchParams.set('code_lang', codeBlockInfo.language);
}
if (codeBlockInfo.lineCount) {
currentUrl.searchParams.set('code_lines', codeBlockInfo.lineCount);
}
if (codeBlockInfo.hasPlaceholders) {
currentUrl.searchParams.set('has_placeholders', 'true');
}
if (codeBlockInfo.blockType) {
currentUrl.searchParams.set('code_type', codeBlockInfo.blockType);
}
if (codeBlockInfo.sectionTitle) {
currentUrl.searchParams.set(
'section',
encodeURIComponent(codeBlockInfo.sectionTitle)
);
}
if (codeBlockInfo.firstLine) {
currentUrl.searchParams.set(
'first_line',
encodeURIComponent(codeBlockInfo.firstLine.substring(0, 100))
);
}
// Update browser history without triggering page reload
if (window.history && window.history.replaceState) {
window.history.replaceState(null, '', currentUrl.toString());
}
// Send custom Google Analytics event if gtag is available
if (typeof window.gtag !== 'undefined') {
window.gtag('event', 'code_copy', {
language: codeBlockInfo.language,
line_count: codeBlockInfo.lineCount,
has_placeholders: codeBlockInfo.hasPlaceholders,
dl: codeBlockInfo.dl || null,
section_title: codeBlockInfo.sectionTitle,
first_line: codeBlockInfo.firstLine
? codeBlockInfo.firstLine.substring(0, 100)
: null,
product: context,
});
}
const copyContent = async () => {
try {
@ -84,6 +170,71 @@ function initialize() {
copyContent();
});
/**
* Extract contextual information about a code block
* @param {HTMLElement} codeElement - The code block element
* @returns {Object} Information about the code block
*/
function extractCodeBlockInfo(codeElement) {
const codeTag = codeElement.querySelector('code');
const info = {
language: null,
lineCount: 0,
hasPlaceholders: false,
blockType: 'code',
dl: null, // Download script type
sectionTitle: null,
firstLine: null,
};
// Extract language from class attribute
if (codeTag && codeTag.className) {
const langMatch = codeTag.className.match(
/language-(\w+)|hljs-(\w+)|(\w+)/
);
if (langMatch) {
info.language = langMatch[1] || langMatch[2] || langMatch[3];
}
}
// Count lines
const text = codeElement.innerText || '';
const lines = text.split('\n');
info.lineCount = lines.length;
// Get first non-empty line
info.firstLine = lines.find((line) => line.trim() !== '') || null;
// Check for placeholders (common patterns)
info.hasPlaceholders =
/\b[A-Z_]{2,}\b|\{\{[^}]+\}\}|\$\{[^}]+\}|<[^>]+>/.test(text);
// Determine if this is a download script
if (text.includes('https://www.influxdata.com/d/install_influxdb3.sh')) {
if (text.includes('install_influxdb3.sh enterprise')) {
info.dl = 'enterprise';
} else {
info.dl = 'oss3';
}
} else if (text.includes('docker pull influxdb:3-enterprise')) {
info.dl = 'enterprise';
} else if (text.includes('docker pull influxdb3-core')) {
info.dl = 'oss3';
}
// Find nearest section heading
let element = codeElement;
while (element && element !== document.body) {
element = element.previousElementSibling || element.parentElement;
if (element && element.tagName && /^H[1-6]$/.test(element.tagName)) {
info.sectionTitle = element.textContent.trim();
break;
}
}
return info;
}
/////////////////////////////// FULL WINDOW CODE ///////////////////////////////
/*

View File

@ -97,4 +97,4 @@ blockquote {
"blocks/important",
"blocks/warning",
"blocks/caution",
"blocks/beta";
"blocks/special-state";

View File

@ -1,10 +1,10 @@
.block.beta {
.block.special-state {
@include gradient($grad-burningDusk);
padding: 4px;
border: none;
border-radius: 25px !important;
.beta-content {
.state-content {
background: $article-bg;
border-radius: 21px;
padding: calc(1.65rem - 4px) calc(2rem - 4px) calc(.1rem + 4px) calc(2rem - 4px);

View File

@ -23,6 +23,7 @@ export { buildContributingInstructions };
/** Build instructions from CONTRIBUTING.md
* This script reads CONTRIBUTING.md, formats it appropriately,
* and saves it to .github/instructions/contributing.instructions.md
* Includes optimization to reduce file size for better performance
*/
function buildContributingInstructions() {
// Paths
@ -41,16 +42,19 @@ function buildContributingInstructions() {
// Read the CONTRIBUTING.md file
let content = fs.readFileSync(contributingPath, 'utf8');
// Optimize content by removing less critical sections for Copilot
content = optimizeContentForContext(content);
// Format the content for Copilot instructions with applyTo attribute
content = `---
applyTo: "content/**/*.md, layouts/**/*.html"
---
# GitHub Copilot Instructions for InfluxData Documentation
# Contributing instructions for InfluxData Documentation
## Purpose and scope
GitHub Copilot should help document InfluxData products
Help document InfluxData products
by creating clear, accurate technical content with proper
code examples, frontmatter, shortcodes, and formatting.
@ -59,7 +63,17 @@ ${content}`;
// Write the formatted content to the instructions file
fs.writeFileSync(instructionsPath, content);
console.log(`✅ Generated Copilot instructions at ${instructionsPath}`);
const fileSize = fs.statSync(instructionsPath).size;
const sizeInKB = (fileSize / 1024).toFixed(1);
console.log(
`✅ Generated instructions at ${instructionsPath} (${sizeInKB}KB)`
);
if (fileSize > 40000) {
console.warn(
`⚠️ Instructions file is large (${sizeInKB}KB > 40KB) and may impact performance`
);
}
// Add the file to git if it has changed
try {
@ -74,3 +88,58 @@ ${content}`;
console.warn('⚠️ Could not add instructions file to git:', error.message);
}
}
/**
* Optimize content for Copilot by removing or condensing less critical sections
* while preserving essential documentation guidance
*/
function optimizeContentForContext(content) {
// Remove or condense sections that are less relevant for context assistance
const sectionsToRemove = [
// Installation and setup sections (less relevant for writing docs)
/### Install project dependencies[\s\S]*?(?=\n##|\n###|$)/g,
/### Install Node\.js dependencies[\s\S]*?(?=\n##|\n###|$)/g,
/### Install Docker[\s\S]*?(?=\n##|\n###|$)/g,
/#### Build the test dependency image[\s\S]*?(?=\n##|\n###|$)/g,
/### Install Visual Studio Code extensions[\s\S]*?(?=\n##|\n###|$)/g,
/### Run the documentation locally[\s\S]*?(?=\n##|\n###|$)/g,
// Testing and CI/CD sections (important but can be condensed)
/### Set up test scripts and credentials[\s\S]*?(?=\n##|\n###|$)/g,
/#### Test shell and python code blocks[\s\S]*?(?=\n##|\n###|$)/g,
/#### Troubleshoot tests[\s\S]*?(?=\n##|\n###|$)/g,
/### Pytest collected 0 items[\s\S]*?(?=\n##|\n###|$)/g,
// Long code examples that can be referenced elsewhere
/```[\s\S]{500,}?```/g,
// Repetitive examples
/#### Example[\s\S]*?(?=\n####|\n###|\n##|$)/g,
];
// Remove identified sections
sectionsToRemove.forEach((regex) => {
content = content.replace(regex, '');
});
// Condense whitespace
content = content.replace(/\n{3,}/g, '\n\n');
// Remove HTML comments
content = content.replace(/<!--[\s\S]*?-->/g, '');
// Shorten repetitive content
content = content.replace(/(\{%[^%]+%\})[\s\S]*?\1/g, (match) => {
// If it's a long repeated pattern, show it once with a note
if (match.length > 200) {
const firstOccurrence = match.split('\n\n')[0];
return (
firstOccurrence +
'\n\n[Similar patterns apply - see full CONTRIBUTING.md for complete examples]'
);
}
return match;
});
return content;
}

View File

@ -303,14 +303,22 @@ services:
container_name: influxdb3-core
image: influxdb:3-core
ports:
- 8181:8181
- 8282:8181
command:
- influxdb3
- serve
- --node-id=sensors_node0
- --node-id=node0
- --log-filter=debug
- --object-store=file
- --data-dir=/var/lib/influxdb3
- --data-dir=/var/lib/influxdb3/data
- --plugin-dir=/var/lib/influxdb3/plugins
volumes:
- type: bind
source: test/.influxdb3/core/data
target: /var/lib/influxdb3/data
- type: bind
source: test/.influxdb3/core/plugins
target: /var/lib/influxdb3/plugins
influxdb3-enterprise:
container_name: influxdb3-enterprise
image: influxdb:3-enterprise
@ -326,16 +334,16 @@ services:
- --cluster-id=cluster0
- --log-filter=debug
- --object-store=file
- --data-dir=/var/lib/influxdb3
- --data-dir=/var/lib/influxdb3/data
- --plugin-dir=/var/lib/influxdb3/plugins
- --license-email=${INFLUXDB3_LICENSE_EMAIL}
volumes:
- type: bind
source: docker/influxdb3/data
target: /var/lib/influxdb3
source: test/.influxdb3/enterprise/data
target: /var/lib/influxdb3/data
- type: bind
source: docker/influxdb3/plugins
target: /var/lib/influxdb3-plugins
source: test/.influxdb3/enterprise/plugins
target: /var/lib/influxdb3/plugins
telegraf-pytest:
container_name: telegraf-pytest
image: influxdata/docs-pytest

View File

@ -13,6 +13,7 @@ minify:
params:
env: staging
environment: staging
server:
server: {
disableLiveReload: true
}

View File

@ -33,17 +33,19 @@ or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/)
to delete a database from your {{< product-name omit=" Clustered" >}} cluster.
> [!Warning]
>
> #### Deleting a database cannot be undone
>
> Once a database is deleted, data stored in that database cannot be recovered.
>
> #### Wait before writing to a new database with the same name
>
> After deleting a database from your {{% product-name omit=" Clustered" %}}
> cluster, you can reuse the name to create a new database, but **wait two to
> three minutes** after deleting the previous database before writing to the new
> database to allow write caches to clear.
>
> #### Tokens still grant access to databases with the same name
>
> [Database tokens](/influxdb3/cloud-dedicated/admin/tokens/database/) are associated to
> databases by name. If you create a new database with the same name, tokens
> that granted access to the deleted database will also grant access to the new
> database.
{{< tabs-wrapper >}}
{{% tabs %}}

View File

@ -0,0 +1,58 @@
---
title: Rename a database
description: >
Use the [`influxctl database rename` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/rename/)
to rename a database in your {{< product-name omit=" Cluster" >}} cluster.
menu:
influxdb3_cloud_dedicated:
parent: Manage databases
weight: 202
list_code_example: |
##### CLI
```sh
influxctl database rename <DATABASE_NAME> <NEW_DATABASE_NAME>
```
related:
- /influxdb3/cloud-dedicated/reference/cli/influxctl/database/rename/
- /influxdb3/cloud-dedicated/admin/tokens/database/create/
---
Use the [`influxctl database rename` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/rename/)
to rename a database in your {{< product-name omit=" Cluster" >}} cluster.
> [!Note]
> Renaming a database does not change the database ID, modify data in the database,
> or update [database tokens](/influxdb3/cloud-dedicated/admin/tokens/database/).
> After renaming a database, any existing database tokens will stop working and you
> must create new tokens with permissions for the renamed database.
## Rename a database using the influxctl CLI
{{% code-placeholders "DATABASE_NAME|NEW_DATABASE_NAME" %}}
```sh
influxctl database rename DATABASE_NAME NEW_DATABASE_NAME
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: Current name of the database to rename
- {{% code-placeholder-key %}}`NEW_DATABASE_NAME`{{% /code-placeholder-key %}}: New name for the database
## Update database tokens after renaming
After renaming a database, existing database tokens will no longer work because
they reference the old database name. Do the following:
1. [Create new database tokens](/influxdb3/cloud-dedicated/admin/tokens/database/create/)
with permissions for the renamed database.
2. Update your applications and clients to use the new tokens.
3. [Delete the old database tokens](/influxdb3/cloud-dedicated/admin/tokens/database/delete/)
that reference the old database name.
{{% note %}}
#### Renamed database retains its ID
The database ID remains the same after renaming. When you list databases,
you'll see the new name associated with the original database ID.
{{% /note %}}

View File

@ -0,0 +1,70 @@
---
title: Undelete a database
description: >
Use the [`influxctl database undelete` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/undelete/)
to restore a previously deleted database in your {{< product-name omit=" Cluster" >}} cluster.
menu:
influxdb3_cloud_dedicated:
parent: Manage databases
weight: 204
list_code_example: |
```sh
influxctl database undelete <DATABASE_NAME>
```
related:
- /influxdb3/cloud-dedicated/reference/cli/influxctl/database/undelete/
- /influxdb3/cloud-dedicated/admin/databases/delete/
- /influxdb3/cloud-dedicated/admin/tokens/database/create/
---
Use the [`influxctl database undelete` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/undelete/)
to restore a previously deleted database in your {{< product-name omit=" Cluster" >}} cluster.
> [!Important]
> To undelete a database:
>
> - The database name must match the name of the deleted database.
> - A new database with the same name cannot already exist.
> - You must have appropriate permissions to manage databases.
When you undelete a database, it is restored with the same retention period,
table limits, and column limits as when it was deleted.
> [!Warning]
> Databases can only be undeleted for
> {{% show-in "cloud-dedicated" %}}approximately 14 days{{% /show-in %}}{{% show-in "clustered" %}}a configurable "hard-delete" grace period{{% /show-in %}}
> after they are deleted.
> After this grace period, all Parquet files associated with the deleted database
> are permanently removed and the database cannot be undeleted.
## Undelete a database using the influxctl CLI
{{% code-placeholders "DATABASE_NAME" %}}
```sh
influxctl database undelete DATABASE_NAME
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}:
Name of the deleted database to restore
## Recreate tokens for the database
After successfully undeleting a database:
1. **Verify the database was restored** by [listing all databases](/influxdb3/cloud-dedicated/admin/databases/list/).
2. **If you previously deleted tokens associated with the deleted database, create new database tokens**
- Any tokens that existed before deletion are not restored.
[Create new database tokens](/influxdb3/cloud-dedicated/admin/tokens/database/create/)
with appropriate permissions for the restored database.
3. **Update your applications** to use the new database tokens.
{{% note %}}
#### Undeleted databases retain their original configuration
When a database is undeleted, it retains the same database ID, retention period,
and table/column limits it had before deletion. However, database tokens are not
restored and must be recreated.
{{% /note %}}

View File

@ -0,0 +1,53 @@
---
title: Delete a table
description: >
Use the Admin UI or the [`influxctl table delete` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/table/delete/)
to delete a table from a database in your {{< product-name omit=" Cluster" >}} cluster.
menu:
influxdb3_cloud_dedicated:
parent: Manage tables
weight: 203
list_code_example: |
```sh
influxctl table delete <DATABASE_NAME> <TABLE_NAME>
```
related:
- /influxdb3/cloud-dedicated/reference/cli/influxctl/table/delete/
---
Use the Admin UI or the [`influxctl table delete` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/table/delete/)
to delete a table from a database in your {{< product-name omit=" Cluster" >}} cluster.
> [!Warning]
> Deleting a table is irreversible. Once a table is deleted, all data stored in
> that table is permanently removed and cannot be recovered.
Provide the following arguments:
- **Database name**: Name of the database that contains the table to delete
- **Table name**: Name of the table to delete
{{% code-placeholders "DATABASE_NAME|TABLE_NAME" %}}
```sh
influxctl table delete DATABASE_NAME TABLE_NAME
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: Name of the database that contains the table to delete
- {{% code-placeholder-key %}}`TABLE_NAME`{{% /code-placeholder-key %}}: Name of the table to delete
When prompted, enter `y` to confirm the deletion.
{{% note %}}
#### Wait before reusing a deleted table name
After deleting a table, wait a few minutes before attempting to create a new
table with the same name to ensure the deletion process has fully completed.
{{% product-name %}} creates tables implicitly using table names specified in
line protocol written to the databases. To prevent the deleted table from being
immediately recreated by incoming write requests, pause all write requests to
the table before deleting it.
{{% /note %}}

View File

@ -1,7 +1,8 @@
---
title: List tables
description: >
Use the Admin UI, the [`SHOW TABLES` SQL statement](/influxdb3/cloud-dedicated/query-data/sql/explore-schema/#list-measurements-in-a-database),
Use the Admin UI, the [`influxctl table list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/table/list/),
the [`SHOW TABLES` SQL statement](/influxdb3/cloud-dedicated/query-data/sql/explore-schema/#list-measurements-in-a-database),
or the [`SHOW MEASUREMENTS` InfluxQL statement](/influxdb3/cloud-dedicated/query-data/influxql/explore-schema/#list-measurements-in-a-database)
to list tables in a database.
menu:
@ -9,23 +10,30 @@ menu:
parent: Manage tables
weight: 201
list_code_example: |
###### SQL
##### CLI
```sh
influxctl table list <DATABASE_NAME>
```
##### SQL
```sql
SHOW TABLES
```
###### InfluxQL
##### InfluxQL
```sql
SHOW MEASUREMENTS
```
related:
- /influxdb3/cloud-dedicated/reference/cli/influxctl/table/list/
- /influxdb3/cloud-dedicated/query-data/sql/explore-schema/
- /influxdb3/cloud-dedicated/query-data/influxql/explore-schema/
---
Use the Admin UI, the [`SHOW TABLES` SQL statement](/influxdb3/cloud-dedicated/query-data/sql/explore-schema/#list-measurements-in-a-database),
Use the Admin UI, the [`influxctl table list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/table/list/),
the [`SHOW TABLES` SQL statement](/influxdb3/cloud-dedicated/query-data/sql/explore-schema/#list-measurements-in-a-database),
or the [`SHOW MEASUREMENTS` InfluxQL statement](/influxdb3/cloud-dedicated/query-data/influxql/explore-schema/#list-measurements-in-a-database)
to list tables in a database.
@ -36,9 +44,11 @@ to list tables in a database.
{{% tabs %}}
[Admin UI](#admin-ui)
[influxctl](#influxctl)
[SQL & InfluxQL](#sql--influxql)
{{% /tabs %}}
{{% tab-content %}}
<!------------------------------- BEGIN ADMIN UI ------------------------------>
The InfluxDB Cloud Dedicated administrative UI includes a portal for managing
tables. You can view the list of tables associated with a database and
their details, including:
@ -47,48 +57,94 @@ their details, including:
- Table ID
- Table size (in bytes)
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
1. To access the {{< product-name >}} Admin UI, visit the following URL in your browser:
<pre>
<a href="https://console.influxdata.com">https://console.influxdata.com</a>
</pre>
2. Use the credentials provided by InfluxData to log into the Admin UI.
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
<pre>
<a href="https://console.influxdata.com">https://console.influxdata.com</a>
</pre>
After you log in, the Account Management portal displays [account information](/influxdb3/cloud-dedicated/admin/account/)
and lists all clusters associated with your account.
3. In the cluster list, find the cluster that contains the database and table. You can **Search** for clusters by name or ID to filter the list and use the sort button and column headers to sort the list.
4. Click the cluster row to view the list of databases associated with the cluster.
5. In the database list, find the database that contains the table. You can **Search** for databases by name or ID to filter the list and use the sort button and column headers to sort the list.
6. Click the database row to view the list of tables associated with the database.
7. The table list displays the following table details:
- Name
- Table ID
- Table size (in bytes)
8. You can **Search** for tables by name or ID to filter the list and use the sort button and column headers to sort the list.
2. Use the credentials provided by InfluxData to log into the Admin UI.
If you don't have login credentials, [contact InfluxData support](https://support.influxdata.com).
You can **Search** for databases by name or ID to filter the list and use the sort button and column headers to sort the list.
After you log in, the Account Management portal displays [account information](/influxdb3/cloud-dedicated/admin/account/)
and lists all clusters associated with your account.
3. In the cluster list, find the cluster that contains the database and table.
You can **Search** for clusters by name or ID to filter the list and use the sort button and column headers to sort the list.
4. Click the cluster row to view the list of databases associated with the cluster.
5. In the database list, find the database that contains the table.
You can **Search** for databases by name or ID to filter the list and use
the sort button and column headers to sort the list.
6. Click the database row to view the list of tables associated with the database.
7. The table list displays the following table details:
- Name
- Table ID
- Table size (in bytes)
8. You can **Search** for tables by name or ID to filter the list and use the
sort button and column headers to sort the list.
You can **Search** for databases by name or ID to filter the list and use the
sort button and column headers to sort the list.
<!-------------------------------- END ADMIN UI ------------------------------->
{{% /tab-content %}}
{{% tab-content %}}
<!------------------------------- BEGIN INFLUXCTL ------------------------------>
###### SQL
<!------------------------------ BEGIN INFLUXCTL ------------------------------>
Use the [`influxctl table list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/table/list/)
to list all tables in a database in your {{< product-name omit=" Cluster" >}} cluster.
{{% code-placeholders "DATABASE_NAME" %}}
<!-- pytest.mark.skip -->
```bash
influxctl table list DATABASE_NAME
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}:
Name of the database containing the tables to list
### Output formats
The `influxctl table list` command supports the following output formats:
- `table` (default): Human-readable table format
- `json`: JSON format for programmatic use
Use the `--format` flag to specify the output format:
{{% code-placeholders "DATABASE_NAME" %}}
```sh
influxctl table list --format json DATABASE_NAME
```
{{% /code-placeholders %}}
<!------------------------------- END INFLUXCTL ------------------------------->
{{% /tab-content %}}
{{% tab-content %}}
<!----------------------------- BEGIN SQL/INFLUXQL ---------------------------->
## List tables with the influxctl query command
To list tables using SQL or InfluxQL, use the `influxctl query` command to pass
the appropriate statement.
### SQL
```sql
SHOW TABLES
```
###### InfluxQL
### InfluxQL
```sql
SHOW MEASUREMENTS
```
## List tables with the influxctl CLI
To list tables using the `influxctl` CLI, use the `influxctl query` command to pass
the `SHOW TABLES` SQL statement.
Provide the following with your command:
- **Database token**: [Database token](/influxdb3/cloud-dedicated/admin/tokens/#database-tokens)
@ -98,17 +154,29 @@ Provide the following with your command:
- **Database name**: Name of the database to query. Uses the `database` setting
from the [`influxctl` connection profile](/influxdb3/cloud-dedicated/reference/cli/influxctl/#configure-connection-profiles)
or the `--database` command flag.
- **SQL query**: SQL query with the `SHOW TABLES` statement.
- **SQL query**: SQL query with the `SHOW TABLES` statement or InfluxQL query with the `SHOW MEASUREMENTS` statement.
{{% code-placeholders "DATABASE_(TOKEN|NAME)" %}}
```sh
##### SQL
<!-- pytest.mark.skip -->
```bash
influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
"SHOW TABLES"
```
##### InfluxQL
<!-- pytest.mark.skip -->
```bash
influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--language influxql \
"SHOW MEASUREMENTS"
```
{{% /code-placeholders %}}
Replace the following:
@ -118,5 +186,6 @@ Replace the following:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}:
Name of the database to query
<!------------------------------ END SQL/INFLUXQL ----------------------------->
{{% /tab-content %}}
{{< /tabs-wrapper >}}
{{< /tabs-wrapper >}}

View File

@ -2,34 +2,12 @@
title: influxctl database
description: >
The `influxctl database` command and its subcommands manage databases in an
InfluxDB Cloud Dedicated cluster.
{{% product-name omit=" Clustered" %}} cluster.
menu:
influxdb3_cloud_dedicated:
parent: influxctl
weight: 201
source: /shared/influxctl/database/_index.md
---
The `influxctl database` command and its subcommands manage databases in an
InfluxDB Cloud Dedicated cluster.
## Usage
```sh
influxctl database [subcommand] [flags]
```
## Subcommands
| Subcommand | Description |
| :--------------------------------------------------------------------------- | :------------------ |
| [create](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/create/) | Create a database |
| [delete](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/delete/) | Delete a database |
| [list](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/list/) | List databases |
| [update](/influxdb3/cloud-dedicated/reference/cli/influxctl/database/update/) | Update a database |
| help, h | Output command help |
## Flags
| Flag | | Description |
| :--- | :------- | :------------------ |
| `-h` | `--help` | Output command help |
<!-- //SOURCE content/shared/influxctl/database/_index.md -->

View File

@ -1,8 +1,8 @@
---
title: influxctl database create
description: >
The `influxctl database create` command creates a new database in an InfluxDB
Cloud Dedicated cluster.
The `influxctl database create` command creates a new database in an
{{% product-name omit=" Clustered" %}} cluster.
menu:
influxdb3_cloud_dedicated:
parent: influxctl database
@ -10,173 +10,7 @@ weight: 301
related:
- /influxdb3/cloud-dedicated/admin/custom-partitions/define-custom-partitions/
- /influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/
source: /shared/influxctl/database/create.md
---
The `influxctl database create` command creates a new database with a specified
retention period in an {{< product-name omit=" Clustered" >}} cluster.
The retention period defines the maximum age of data retained in the database,
based on the timestamp of the data.
The retention period value is a time duration value made up of a numeric value
plus a duration unit. For example, `30d` means 30 days.
A zero duration retention period is infinite and data will not expire.
The retention period value cannot be negative or contain whitespace.
{{< flex >}}
{{% flex-content "half" %}}
##### Valid durations units include
- **m**: minute
- **h**: hour
- **d**: day
- **w**: week
- **mo**: month
- **y**: year
{{% /flex-content %}}
{{% flex-content "half" %}}
##### Example retention period values
- `0d`: infinite/none
- `3d`: 3 days
- `6w`: 6 weeks
- `1mo`: 1 month (30 days)
- `1y`: 1 year
- `30d30d`: 60 days
- `2.5d`: 60 hours
{{% /flex-content %}}
{{< /flex >}}
#### Custom partitioning
You can override the default partition template (`%Y-%m-%d`) of the database
with the `--template-tag`, `--template-tag-bucket`, and `--template-timeformat`
flags when you create the database.
Provide a time format using [Rust strftime](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#time-part-templates), partition by specific tag, or partition tag values
into a specified number of "buckets."
Each of these can be used as part of the partition template.
Be sure to follow [partitioning best practices](/influxdb3/cloud-dedicated/admin/custom-partitions/best-practices/).
> [!Note]
> #### Always provide a time format when using custom partitioning
>
> If defining a custom partition template for your database with any of the
> `--template-*` flags, always include the `--template-timeformat` flag with a
> time format to use in your partition template.
> Otherwise, InfluxDB omits time from the partition template and won't compact partitions.
> [!Warning]
> #### Wait before writing to a new database with the same name as a deleted database
>
> After deleting a database from your {{% product-name omit=" Clustered" %}}
> cluster, you can reuse the name to create a new database, but **wait two to
> three minutes** after deleting the previous database before writing to the new
> database to allow write caches to clear.
## Usage
<!--Skip tests for database create and delete: namespaces aren't reusable-->
<!--pytest.mark.skip-->
```sh
influxctl database create [flags] <DATABASE_NAME>
```
## Arguments
| Argument | Description |
| :---------------- | :--------------------- |
| **DATABASE_NAME** | InfluxDB database name |
## Flags
| Flag | | Description |
| :--- | :---------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- |
| | `--retention-period` | [Database retention period ](/influxdb3/cloud-dedicated/admin/databases/#retention-periods)(default is `0s`, infinite) |
| | `--max-tables` | [Maximum tables per database](/influxdb3/cloud-dedicated/admin/databases/#table-limit) (default is 500, `0` uses default) |
| | `--max-columns` | [Maximum columns per table](/influxdb3/cloud-dedicated/admin/databases/#column-limit) (default is 250, `0` uses default) |
| | `--template-tag` | Tag to add to partition template (can include multiple of this flag) |
| | `--template-tag-bucket` | Tag and number of buckets to partition tag values into separated by a comma--for example: `tag1,100` (can include multiple of this flag) |
| | `--template-timeformat` | Timestamp format for partition template (default is `%Y-%m-%d`) |
| `-h` | `--help` | Output command help |
{{% caption %}}
_Also see [`influxctl` global flags](/influxdb3/cloud-dedicated/reference/cli/influxctl/#global-flags)._
{{% /caption %}}
## Examples
- [Create a database with an infinite retention period](#create-a-database-with-an-infinite-retention-period)
- [Create a database with a 30-day retention period](#create-a-database-with-a-30-day-retention-period)
- [Create a database with non-default table and column limits](#create-a-database-with-non-default-table-and-column-limits)
- [Create a database with a custom partition template](#create-a-database-with-a-custom-partition-template)
### Create a database with an infinite retention period
<!--Skip tests for database create and delete: namespaces aren't reusable-->
<!--pytest.mark.skip-->
```sh
influxctl database create mydb
```
### Create a database with a 30-day retention period
<!--Skip tests for database create and delete: namespaces aren't reusable-->
<!--pytest.mark.skip-->
```sh
influxctl database create \
--retention-period 30d \
mydb
```
### Create a database with non-default table and column limits
<!--Skip tests for database create and delete: namespaces aren't reusable-->
<!--pytest.mark.skip-->
```sh
influxctl database create \
--max-tables 200 \
--max-columns 150 \
mydb
```
### Create a database with a custom partition template
The following example creates a new `mydb` database and applies a partition
template that partitions by two tags (`room` and `sensor-type`) and by day using
the time format `%Y-%m-%d`:
<!--Skip tests for database create and delete: namespaces aren't reusable-->
<!--pytest.mark.skip-->
```sh
influxctl database create \
--template-tag room \
--template-tag sensor-type \
--template-tag-bucket customerID,1000 \
--template-timeformat '%Y-%m-%d' \
mydb
```
_For more information about custom partitioning, see
[Manage data partitioning](/influxdb3/cloud-dedicated/admin/custom-partitions/)._
{{% expand "View command updates" %}}
#### v2.7.0 {date="2024-03-26"}
- Introduce the `--template-tag-bucket` flag to group tag values into buckets
and partition by each tag bucket.
#### v2.5.0 {date="2024-03-04"}
- Introduce the `--template-tag` and `--template-timeformat` flags that define
a custom partition template for a database.
{{% /expand %}}
<!-- //SOURCE content/shared/influxctl/database/create.md -->

View File

@ -1,71 +1,13 @@
---
title: influxctl database delete
description: >
The `influxctl database delete` command deletes a database from an InfluxDB
Cloud Dedicated cluster.
The `influxctl database delete` command deletes a database from an
{{% product-name omit=" Clustered" %}} cluster.
menu:
influxdb3_cloud_dedicated:
parent: influxctl database
weight: 301
source: /shared/influxctl/database/delete.md
---
The `influxctl database delete` command deletes a database from an
{{< product-name omit=" Clustered" >}} cluster.
## Usage
<!--Skip tests for database create and delete: namespaces aren't reusable-->
<!--pytest.mark.skip-->
```sh
influxctl database delete [command options] [--force] <DATABASE_NAME> [<DATABASE_NAME_N>...]
```
> [!Warning]
> #### Cannot be undone
>
> Deleting a database is a destructive action that cannot be undone.
>
> #### Wait before writing to a new database with the same name
>
> After deleting a database from your {{% product-name omit=" Clustered" %}}
> cluster, you can reuse the name to create a new database, but **wait two to
> three minutes** after deleting the previous database before writing to the new
> database to allow write caches to clear.
## Arguments
| Argument | Description |
| :---------------- | :----------------------------- |
| **DATABASE_NAME** | Name of the database to delete |
## Flags
| Flag | | Description |
| :--- | :-------- | :---------------------------------------------------------- |
| | `--force` | Do not prompt for confirmation to delete (default is false) |
| `-h` | `--help` | Output command help |
{{% caption %}}
_Also see [`influxctl` global flags](/influxdb3/cloud-dedicated/reference/cli/influxctl/#global-flags)._
{{% /caption %}}
## Examples
##### Delete a database named "mydb"
<!--Skip tests for database create and delete: namespaces aren't reusable-->
<!--pytest.mark.skip-->
```sh
influxctl database delete mydb
```
##### Delete multiple databases
<!--Skip tests for database create and delete: namespaces aren't reusable-->
<!--pytest.mark.skip-->
```sh
influxctl database delete mydb1 mydb2
```
<!-- //SOURCE content/shared/influxctl/database/delete.md -->

View File

@ -1,34 +1,13 @@
---
title: influxctl database list
description: >
The `influxctl database list` command lists all databases in an InfluxDB Cloud
Dedicated cluster.
The `influxctl database list` command lists all databases in an
{{% product-name omit=" Clustered" %}} cluster.
menu:
influxdb3_cloud_dedicated:
parent: influxctl database
weight: 301
source: /shared/influxctl/database/list.md
---
The `influxctl database list` command lists all databases in an InfluxDB Cloud
Dedicated cluster.
The `--format` flag lets you print the output in other formats.
The `json` format is available for programmatic parsing by other tooling.
Default: `table`.
## Usage
```sh
influxctl database list [--format=table|json]
```
## Flags
| Flag | | Description |
| :--- | :--------- | :-------------------------------------------- |
| | `--format` | Output format (`table` _(default)_ or `json`) |
| `-h` | `--help` | Output command help |
{{% caption %}}
_Also see [`influxctl` global flags](/influxdb3/cloud-dedicated/reference/cli/influxctl/#global-flags)._
{{% /caption %}}
<!-- //SOURCE content/shared/influxctl/database/list.md -->

View File

@ -0,0 +1,14 @@
---
title: influxctl database rename
description: >
The `influxctl database rename` command renames a database in an
{{% product-name omit=" Clustered" %}} cluster.
menu:
influxdb3_cloud_dedicated:
parent: influxctl database
weight: 301
metadata: [influxctl 2.10.2+]
source: /shared/influxctl/database/rename.md
---
<!-- //SOURCE content/shared/influxctl/database/rename.md -->

View File

@ -0,0 +1,14 @@
---
title: influxctl database undelete
description: >
The `influxctl database undelete` command undeletes a previously deleted
database in an {{% product-name omit=" Clustered" %}} cluster.
menu:
influxdb3_cloud_dedicated:
parent: influxctl database
weight: 301
metadata: [influxctl 2.10.2+]
source: /shared/influxctl/database/undelete.md
---
<!-- //SOURCE content/shared/influxctl/database/undelete.md -->

View File

@ -7,86 +7,7 @@ menu:
influxdb3_cloud_dedicated:
parent: influxctl database
weight: 301
source: /shared/influxctl/database/update.md
---
The `influxctl database update` command updates a database's retention period,
table (measurement), or column limits in InfluxDB.
## Usage
<!-- pytest.mark.skip -->
```sh
influxctl database update [flags] <DATABASE_NAME>
```
## Arguments
| Argument | Description |
| :---------------- | :----------------------------- |
| **DATABASE_NAME** | Name of the database to update |
## Flags
| Flag | | Description |
| :--- | :------------------- | :----------------------------------------------------------- |
| | `--retention-period` | [Database retention period ](/influxdb3/cloud-dedicated/admin/databases/#retention-periods)(default is `0s` or infinite) |
| | `--max-tables` | [Maximum tables per database](/influxdb3/cloud-dedicated/admin/databases/#table-limit) (default is 500, 0 uses default) |
| | `--max-columns` | [Maximum columns per table](/influxdb3/cloud-dedicated/admin/databases/#column-limit) (default is 250, 0 uses default) |
| `-h` | `--help` | Output command help |
{{% caption %}}
_Also see [`influxctl` global flags](/influxdb3/cloud-dedicated/reference/cli/influxctl/#global-flags)._
{{% /caption %}}
## Examples
- [Update a database's retention period](#update-a-databases-retention-period)
- [Update a database's table limit](#update-a-databases-table-limit)
- [Update a database's column limit](#update-a-databases-column-limit)
### Update a database's retention period
```sh
influxctl database update --retention-period 1mo mydb
```
{{< flex >}}
{{% flex-content "half" %}}
##### Valid durations units
- `m`: minute
- `h`: hour
- `d`: day
- `w`: week
- `mo`: month
- `y`: year
{{% /flex-content %}}
{{% flex-content "half" %}}
##### Example retention period values
- `0d`: infinite/none
- `3d`: 3 days
- `6w`: 6 weeks
- `1mo`: 1 month (30 days)
- `1y`: 1 year
- `30d30d`: 60 days
- `2.5d`: 60 hours
{{% /flex-content %}}
{{< /flex >}}
### Update a database's table limit
```sh
influxctl database update --max-tables 300 mydb
```
### Update a database's column limit
```sh
influxctl database update --max-columns 200 mydb
```
<!-- //SOURCE content/shared/influxctl/database/update.md -->

View File

@ -9,25 +9,7 @@ menu:
weight: 201
cascade:
metadata: [influxctl 2.5.0+]
source: /shared/influxctl/table/_index.md
---
The `influxctl table` command and its subcommands manage tables in an
InfluxDB Cloud Dedicated cluster.
## Usage
```sh
influxctl table [subcommand] [flags]
```
## Subcommands
| Subcommand | Description |
| :------------------------------------------------------------------------ | :------------- |
| [create](/influxdb3/cloud-dedicated/reference/cli/influxctl/table/create/) | Create a table |
## Flags
| Flag | | Description |
| :--- | :------- | :------------------ |
| `-h` | `--help` | Output command help |
<!-- //SOURCE content/shared/influxctl/table/_index.md -->

View File

@ -9,101 +9,7 @@ weight: 301
related:
- /influxdb3/cloud-dedicated/admin/custom-partitions/define-custom-partitions/
- /influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/
source: /shared/influxctl/table/create.md
---
The `influxctl table create` command creates a new table in the specified
database in an {{< product-name omit=" Clustered" >}} cluster.
#### Custom partitioning
You can override the default partition template (the partition template of the target database)
with the `--template-tag`, `--template-tag-bucket`, and `--template-timeformat`
flags when you create the table.
Provide a time format using [Rust strftime](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/#time-part-templates), partition by specific tag, or partition tag values
into a specified number of "buckets."
Each of these can be used as part of the partition template.
Be sure to follow [partitioning best practices](/influxdb3/cloud-dedicated/admin/custom-partitions/best-practices/).
> [!Note]
> #### Always provide a time format when using custom partitioning
>
> If defining a custom partition template for your table with any of the
> `--template-*` flags, always include the `--template-timeformat` flag with a
> time format to use in your partition template.
> Otherwise, InfluxDB omits time from the partition template and won't compact partitions.
## Usage
```sh
influxctl table create [flags] <DATABASE_NAME> <TABLE_NAME>
```
## Arguments
| Argument | Description |
| :---------------- | :-------------------------- |
| **DATABASE_NAME** | Name of the target database |
| **TABLE_NAME** | Table name |
## Flags
| Flag | | Description |
| :--- | :---------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- |
| | `--template-tag` | Tag to add to partition template (can include multiple of this flag) |
| | `--template-tag-bucket` | Tag and number of buckets to partition tag values into separated by a comma--for example: `tag1,100` (can include multiple of this flag) |
| | `--template-timeformat` | Timestamp format for partition template <!--(default is `%Y-%m-%d`)--> |
| `-h` | `--help` | Output command help |
{{% caption %}}
_Also see [`influxctl` global flags](/influxdb3/cloud-dedicated/reference/cli/influxctl/#global-flags)._
{{% /caption %}}
## Examples
- [Create a table](#create-a-table)
- [Create a table with a custom partition template](#create-a-table-with-a-custom-partition-template)
In the following examples, replace:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}:
The name of the database to create the table in.
- {{% code-placeholder-key %}}`TABLE_NAME` {{% /code-placeholder-key %}}:
The name of table to create.
### Create a table
{{% code-placeholders "(DATABASE|TABLE)_NAME" %}}
```sh
influxctl table create DATABASE_NAME TABLE_NAME
```
{{% /code-placeholders %}}
### Create a table with a custom partition template
The following example creates a new table and applies a partition
template that partitions by two tags (`room` and `sensor-type`) and by day using
the time format `%Y-%m-%d`:
{{% code-placeholders "(DATABASE|TABLE)_NAME" %}}
```sh
influxctl table create \
--template-tag room \
--template-tag sensor-type \
--template-tag-bucket customerID,1000 \
--template-timeformat '%Y-%m-%d' \
DATABASE_NAME \
TABLE_NAME
```
{{% /code-placeholders %}}
_For more information about custom partitioning, see
[Manage data partitioning](/influxdb3/cloud-dedicated/admin/custom-partitions/)._
{{% expand "View command updates" %}}
#### v2.7.0 {date="2024-03-26"}
- Introduce the `--template-tag-bucket` flag to group tag values into buckets
and partition by each tag bucket.
{{% /expand %}}
<!-- //SOURCE content/shared/influxctl/table/create.md -->

View File

@ -0,0 +1,15 @@
---
title: influxctl table delete
description: >
The `influxctl table delete` command deletes a specified table from a database.
menu:
influxdb3_cloud_dedicated:
parent: influxctl table
weight: 301
related:
- /influxdb3/cloud-dedicated/admin/tables/delete/
metadata: [influxctl 2.10.2+]
source: /shared/influxctl/table/delete.md
---
<!-- //SOURCE content/shared/influxctl/table/delete.md -->

View File

@ -0,0 +1,15 @@
---
title: influxctl table iceberg
description: >
The `influxctl table iceberg` command and its subcommands enable or disable
Iceberg-compatible exports for a table in an InfluxDB Cloud Dedicated cluster.
menu:
influxdb3_cloud_dedicated:
parent: influxctl table
weight: 301
cascade:
metadata: [influxctl 2.10.2+]
source: /shared/influxctl/table/iceberg/_index.md
---
<!-- //SOURCE content/shared/influxctl/table/iceberg/_index.md -->

View File

@ -0,0 +1,13 @@
---
title: influxctl table iceberg disable
description: >
The `influxctl table iceberg disable` command disables Iceberg-compatible exports
for a table in an InfluxDB Cloud Dedicated cluster.
menu:
influxdb3_cloud_dedicated:
parent: influxctl table iceberg
weight: 401
source: /shared/influxctl/table/iceberg/disable.md
---
<!-- //SOURCE content/shared/influxctl/table/iceberg/disable.md -->

View File

@ -0,0 +1,13 @@
---
title: influxctl table iceberg enable
description: >
The `influxctl table iceberg enable` command enables Iceberg-compatible exports
for a table in an InfluxDB Cloud Dedicated cluster.
menu:
influxdb3_cloud_dedicated:
parent: influxctl table iceberg
weight: 401
source: /shared/influxctl/table/iceberg/enable.md
---
<!-- //SOURCE content/shared/influxctl/table/iceberg/enable.md -->

View File

@ -0,0 +1,15 @@
---
title: influxctl table list
description: >
The `influxctl table list` command lists all tables in the specified database.
menu:
influxdb3_cloud_dedicated:
parent: influxctl table
weight: 301
related:
- /influxdb3/cloud-dedicated/admin/tables/list/
metadata: [influxctl 2.10.2+]
source: /shared/influxctl/table/list.md
---
<!-- //SOURCE content/shared/influxctl/table/list.md -->

View File

@ -33,16 +33,19 @@ influxctl database delete DATABASE_NAME
{{% /code-placeholders %}}
> [!Warning]
> #### Deleting a database cannot be undone
>
> Once a database is deleted, data stored in that database cannot be recovered.
>
> #### Wait before writing to a new database with the same name
>
> After deleting a database from your {{% product-name omit=" Clustered" %}}
> cluster, you can reuse the name to create a new database, but **wait two to
> three minutes** after deleting the previous database before writing to the new
> database to allow write caches to clear.
>
> #### Tokens still grant access to databases with the same name
>
> [Database tokens](/influxdb3/clustered/admin/tokens/database/) are associated to
> databases by name. If you create a new database with the same name, tokens
> that granted access to the deleted database will also grant access to the new
> database.
>
> #### Never directly modify the Catalog
>

View File

@ -0,0 +1,58 @@
---
title: Rename a database
description: >
Use the [`influxctl database rename` command](/influxdb3/clustered/reference/cli/influxctl/database/rename/)
to rename a database in your {{< product-name omit=" Cluster" >}} cluster.
menu:
influxdb3_clustered:
parent: Manage databases
weight: 202
list_code_example: |
##### CLI
```sh
influxctl database rename <DATABASE_NAME> <NEW_DATABASE_NAME>
```
related:
- /influxdb3/clustered/reference/cli/influxctl/database/rename/
- /influxdb3/clustered/admin/tokens/database/create/
---
Use the [`influxctl database rename` command](/influxdb3/clustered/reference/cli/influxctl/database/rename/)
to rename a database in your {{< product-name omit=" Cluster" >}} cluster.
> [!Note]
> Renaming a database does not change the database ID, modify data in the database,
> or update [database tokens](/influxdb3/clustered/admin/tokens/database/).
> After renaming a database, any existing database tokens will stop working and you
> must create new tokens with permissions for the renamed database.
## Rename a database using the influxctl CLI
{{% code-placeholders "DATABASE_NAME|NEW_DATABASE_NAME" %}}
```sh
influxctl database rename DATABASE_NAME NEW_DATABASE_NAME
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: Current name of the database to rename
- {{% code-placeholder-key %}}`NEW_DATABASE_NAME`{{% /code-placeholder-key %}}: New name for the database
## Update database tokens after renaming
After renaming a database, existing database tokens will no longer work because
they reference the old database name. Do the following:
1. [Create new database tokens](/influxdb3/clustered/admin/tokens/database/create/)
with permissions for the renamed database.
2. Update your applications and clients to use the new tokens.
3. [Delete the old database tokens](/influxdb3/clustered/admin/tokens/database/delete/)
that reference the old database name.
{{% note %}}
#### Renamed database retains its ID
The database ID remains the same after renaming. When you list databases,
you'll see the new name associated with the original database ID.
{{% /note %}}

View File

@ -0,0 +1,70 @@
---
title: Undelete a database
description: >
Use the [`influxctl database undelete` command](/influxdb3/clustered/reference/cli/influxctl/database/undelete/)
to restore a previously deleted database in your {{< product-name omit=" Cluster" >}} cluster.
menu:
influxdb3_clustered:
parent: Manage databases
weight: 204
list_code_example: |
```sh
influxctl database undelete <DATABASE_NAME>
```
related:
- /influxdb3/clustered/reference/cli/influxctl/database/undelete/
- /influxdb3/clustered/admin/databases/delete/
- /influxdb3/clustered/admin/tokens/database/create/
---
Use the [`influxctl database undelete` command](/influxdb3/clustered/reference/cli/influxctl/database/undelete/)
to restore a previously deleted database in your {{< product-name omit=" Cluster" >}} cluster.
> [!Important]
> To undelete a database:
>
> - The database name must match the name of the deleted database.
> - A new database with the same name cannot already exist.
> - You must have appropriate permissions to manage databases.
When you undelete a database, it is restored with the same retention period,
table limits, and column limits as when it was deleted.
> [!Warning]
> Databases can only be undeleted for
> {{% show-in "cloud-dedicated" %}}approximately 14 days{{% /show-in %}}{{% show-in "clustered" %}}a configurable "hard-delete" grace period{{% /show-in %}}
> after they are deleted.
> After this grace period, all Parquet files associated with the deleted database
> are permanently removed and the database cannot be undeleted.
## Undelete a database using the influxctl CLI
{{% code-placeholders "DATABASE_NAME" %}}
```sh
influxctl database undelete DATABASE_NAME
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}:
Name of the deleted database to restore
## Recreate tokens for the database
After successfully undeleting a database:
1. **Verify the database was restored** by [listing all databases](/influxdb3/clustered/admin/databases/list/).
2. **If you previously deleted tokens associated with the deleted database, create new database tokens**
- Any tokens that existed before deletion are not restored.
[Create new database tokens](/influxdb3/clustered/admin/tokens/database/create/)
with appropriate permissions for the restored database.
3. **Update your applications** to use the new database tokens.
{{% note %}}
#### Undeleted databases retain their original configuration
When a database is undeleted, it retains the same database ID, retention period,
and table/column limits it had before deletion. However, database tokens are not
restored and must be recreated.
{{% /note %}}

View File

@ -0,0 +1,52 @@
---
title: Delete a table
description: >
Use the Admin UI or the [`influxctl table delete` command](/influxdb3/clustered/reference/cli/influxctl/table/delete/)
to delete a table from a database in your {{< product-name omit=" Cluster" >}} cluster.
menu:
influxdb3_clustered:
parent: Manage tables
weight: 203
list_code_example: |
```sh
influxctl table delete <DATABASE_NAME> <TABLE_NAME>
```
related:
- /influxdb3/clustered/reference/cli/influxctl/table/delete/
---
Use the Admin UI or the [`influxctl table delete` command](/influxdb3/clustered/reference/cli/influxctl/table/delete/)
to delete a table from a database in your {{< product-name omit=" Cluster" >}} cluster.
> [!Warning]
> Deleting a table is irreversible. Once a table is deleted, all data stored in
> that table is permanently removed and cannot be recovered.
Provide the following arguments:
- **Database name**: Name of the database that contains the table to delete
- **Table name**: Name of the table to delete
{{% code-placeholders "DATABASE_NAME|TABLE_NAME" %}}
```sh
influxctl table delete DATABASE_NAME TABLE_NAME
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: Name of the database that contains the table to delete
- {{% code-placeholder-key %}}`TABLE_NAME`{{% /code-placeholder-key %}}: Name of the table to delete
When prompted, enter `y` to confirm the deletion.
> [!Note]
> #### Wait before reusing a deleted table name
>
> After deleting a table, wait a few minutes before attempting to create a new
> table with the same name to ensure the deletion process has fully completed.
>
> {{% product-name %}} creates tables implicitly using table names specified in
> line protocol written to the databases. To prevent the deleted table from being
> immediately recreated by incoming write requests, pause all write requests to
> the table before deleting it.

View File

@ -1,7 +1,8 @@
---
title: List tables
description: >
Use the [`SHOW TABLES` SQL statement](/influxdb3/clustered/query-data/sql/explore-schema/#list-measurements-in-a-database)
Use the [`influxctl table list` command](/influxdb3/clustered/reference/cli/influxctl/table/list/),
the [`SHOW TABLES` SQL statement](/influxdb3/clustered/query-data/sql/explore-schema/#list-measurements-in-a-database),
or the [`SHOW MEASUREMENTS` InfluxQL statement](/influxdb3/clustered/query-data/influxql/explore-schema/#list-measurements-in-a-database)
to list tables in a database.
menu:
@ -9,49 +10,96 @@ menu:
parent: Manage tables
weight: 201
list_code_example: |
###### SQL
##### CLI
```sh
influxctl table list <DATABASE_NAME>
```
##### SQL
```sql
SHOW TABLES
```
###### InfluxQL
##### InfluxQL
```sql
SHOW MEASUREMENTS
```
related:
- /influxdb3/clustered/reference/cli/influxctl/table/list/
- /influxdb3/clustered/query-data/sql/explore-schema/
- /influxdb3/clustered/query-data/influxql/explore-schema/
---
Use the [`SHOW TABLES` SQL statement](/influxdb3/clustered/query-data/sql/explore-schema/#list-measurements-in-a-database)
Use the [`influxctl table list` command](/influxdb3/clustered/reference/cli/influxctl/table/list/),
the [`SHOW TABLES` SQL statement](/influxdb3/clustered/query-data/sql/explore-schema/#list-measurements-in-a-database),
or the [`SHOW MEASUREMENTS` InfluxQL statement](/influxdb3/clustered/query-data/influxql/explore-schema/#list-measurements-in-a-database)
to list tables in a database.
> [!Note]
> With {{< product-name >}}, tables and measurements are synonymous.
###### SQL
{{< tabs-wrapper >}}
{{% tabs %}}
[influxctl](#influxctl)
[SQL & InfluxQL](#sql--influxql)
{{% /tabs %}}
{{% tab-content %}}
<!------------------------------- BEGIN INFLUXCTL ----------------------------->
Use the [`influxctl table list` command](/influxdb3/clustered/reference/cli/influxctl/table/list/)
to list all tables in a database in your {{< product-name omit=" Cluster" >}}.
{{% code-placeholders "DATABASE_NAME" %}}
<!-- pytest.mark.skip -->
```bash
influxctl table list DATABASE_NAME
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}:
Name of the database containing the tables to list
### Output formats
The `influxctl table list` command supports the following output formats:
- `table` (default): Human-readable table format
- `json`: JSON format for programmatic use
Use the `--format` flag to specify the output format:
{{% code-placeholders "DATABASE_NAME" %}}
```sh
influxctl table list --format json DATABASE_NAME
```
{{% /code-placeholders %}}
<!------------------------------- END INFLUXCTL ------------------------------->
{{% /tab-content %}}
{{% tab-content %}}
<!----------------------------- BEGIN SQL/INFLUXQL ---------------------------->
## List tables with the influxctl query command
To list tables using SQL or InfluxQL, use the `influxctl query` command to pass
the appropriate statement.
### SQL
```sql
SHOW TABLES
```
###### InfluxQL
### InfluxQL
```sql
SHOW MEASUREMENTS
```
## List tables with the influxctl CLI
To list tables using the `influxctl` CLI, use the `influxctl query` command to pass
the `SHOW TABLES` SQL statement.
> [!Note]
> The `influxctl query` command only supports SQL queries; not InfluxQL.
Provide the following with your command:
- **Database token**: a [database token](/influxdb3/clustered/admin/tokens/#database-tokens)
@ -61,17 +109,29 @@ Provide the following with your command:
- **Database name**: Name of the database to query. Uses the `database` setting
from the [`influxctl` connection profile](/influxdb3/clustered/reference/cli/influxctl/#configure-connection-profiles)
or the `--database` command flag.
- **SQL query**: SQL query with the `SHOW TABLES` statement.
- **SQL query**: SQL query with the `SHOW TABLES` statement or InfluxQL query with the `SHOW MEASUREMENTS` statement.
{{% code-placeholders "DATABASE_(TOKEN|NAME)" %}}
```sh
##### SQL
<!-- pytest.mark.skip -->
```bash
influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
"SHOW TABLES"
```
##### InfluxQL
<!-- pytest.mark.skip -->
```bash
influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--language influxql \
"SHOW MEASUREMENTS"
```
{{% /code-placeholders %}}
Replace the following:
@ -81,3 +141,11 @@ Replace the following:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}:
Name of the database to query
> [!Note]
> The `influxctl query` command only supports SQL queries; not InfluxQL.
> To use InfluxQL, query InfluxDB through the API using InfluxQL request parameters.
<!------------------------------ END SQL/INFLUXQL ----------------------------->
{{% /tab-content %}}
{{< /tabs-wrapper >}}

View File

@ -2,34 +2,12 @@
title: influxctl database
description: >
The `influxctl database` command and its subcommands manage databases in an
InfluxDB cluster.
{{% product-name omit=" Clustered" %}} cluster.
menu:
influxdb3_clustered:
parent: influxctl
weight: 201
source: /shared/influxctl/database/_index.md
---
The `influxctl database` command and its subcommands manage databases in an
InfluxDB cluster.
## Usage
```sh
influxctl database [subcommand] [flags]
```
## Subcommands
| Subcommand | Description |
| :--------------------------------------------------------------------------- | :------------------ |
| [create](/influxdb3/clustered/reference/cli/influxctl/database/create/) | Create a database |
| [delete](/influxdb3/clustered/reference/cli/influxctl/database/delete/) | Delete a database |
| [list](/influxdb3/clustered/reference/cli/influxctl/database/list/) | List databases |
| [update](/influxdb3/clustered/reference/cli/influxctl/database/update/) | Update a database |
| help, h | Output command help |
## Flags
| Flag | | Description |
| :--- | :------- | :------------------ |
| `-h` | `--help` | Output command help |
<!-- //SOURCE content/shared/influxctl/database/_index.md -->

View File

@ -1,7 +1,8 @@
---
title: influxctl database create
description: >
The `influxctl database create` command creates a new database in an InfluxDB cluster.
The `influxctl database create` command creates a new database in an
{{% product-name omit=" Clustered" %}} cluster.
menu:
influxdb3_clustered:
parent: influxctl database
@ -9,173 +10,7 @@ weight: 301
related:
- /influxdb3/clustered/admin/custom-partitions/define-custom-partitions/
- /influxdb3/clustered/admin/custom-partitions/partition-templates/
source: /shared/influxctl/database/create.md
---
The `influxctl database create` command creates a new database with a specified
retention period in an {{< product-name omit=" Clustered" >}} cluster.
The retention period defines the maximum age of data retained in the database,
based on the timestamp of the data.
The retention period value is a time duration value made up of a numeric value
plus a duration unit. For example, `30d` means 30 days.
A zero duration retention period is infinite and data will not expire.
The retention period value cannot be negative or contain whitespace.
{{< flex >}}
{{% flex-content "half" %}}
##### Valid durations units include
- **m**: minute
- **h**: hour
- **d**: day
- **w**: week
- **mo**: month
- **y**: year
{{% /flex-content %}}
{{% flex-content "half" %}}
##### Example retention period values
- `0d`: infinite/none
- `3d`: 3 days
- `6w`: 6 weeks
- `1mo`: 1 month (30 days)
- `1y`: 1 year
- `30d30d`: 60 days
- `2.5d`: 60 hours
{{% /flex-content %}}
{{< /flex >}}
#### Custom partitioning
You can override the default partition template (`%Y-%m-%d`) of the database
with the `--template-tag`, `--template-tag-bucket`, and `--template-timeformat`
flags when you create the database.
Provide a time format using [Rust strftime](/influxdb3/clustered/admin/custom-partitions/partition-templates/#time-part-templates), partition by specific tag, or partition tag values
into a specified number of "buckets."
Each of these can be used as part of the partition template.
Be sure to follow [partitioning best practices](/influxdb3/clustered/admin/custom-partitions/best-practices/).
> [!Note]
> #### Always provide a time format when using custom partitioning
>
> If defining a custom partition template for your database with any of the
> `--template-*` flags, always include the `--template-timeformat` flag with a
> time format to use in your partition template.
> Otherwise, InfluxDB omits time from the partition template and won't compact partitions.
> [!Warning]
> #### Wait before writing to a new database with the same name as a deleted database
>
> After deleting a database from your {{% product-name omit=" Clustered" %}}
> cluster, you can reuse the name to create a new database, but **wait two to
> three minutes** after deleting the previous database before writing to the new
> database to allow write caches to clear.
## Usage
<!--Skip tests for database create and delete: namespaces aren't reusable-->
<!--pytest.mark.skip-->
```sh
influxctl database create [flags] <DATABASE_NAME>
```
## Arguments
| Argument | Description |
| :---------------- | :--------------------- |
| **DATABASE_NAME** | InfluxDB database name |
## Flags
| Flag | | Description |
| :--- | :---------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- |
| | `--retention-period` | [Database retention period ](/influxdb3/clustered/admin/databases/#retention-periods)(default is `0s`, infinite) |
| | `--max-tables` | [Maximum tables per database](/influxdb3/clustered/admin/databases/#table-limit) (default is 500, `0` uses default) |
| | `--max-columns` | [Maximum columns per table](/influxdb3/clustered/admin/databases/#column-limit) (default is 250, `0` uses default) |
| | `--template-tag` | Tag to add to partition template (can include multiple of this flag) |
| | `--template-tag-bucket` | Tag and number of buckets to partition tag values into separated by a comma--for example: `tag1,100` (can include multiple of this flag) |
| | `--template-timeformat` | Timestamp format for partition template (default is `%Y-%m-%d`) |
| `-h` | `--help` | Output command help |
{{% caption %}}
_Also see [`influxctl` global flags](/influxdb3/clustered/reference/cli/influxctl/#global-flags)._
{{% /caption %}}
## Examples
- [Create a database with an infinite retention period](#create-a-database-with-an-infinite-retention-period)
- [Create a database with a 30-day retention period](#create-a-database-with-a-30-day-retention-period)
- [Create a database with non-default table and column limits](#create-a-database-with-non-default-table-and-column-limits)
- [Create a database with a custom partition template](#create-a-database-with-a-custom-partition-template)
### Create a database with an infinite retention period
<!--Skip tests for database create and delete: namespaces aren't reusable-->
<!--pytest.mark.skip-->
```sh
influxctl database create mydb
```
### Create a database with a 30-day retention period
<!--Skip tests for database create and delete: namespaces aren't reusable-->
<!--pytest.mark.skip-->
```sh
influxctl database create \
--retention-period 30d \
mydb
```
### Create a database with non-default table and column limits
<!--Skip tests for database create and delete: namespaces aren't reusable-->
<!--pytest.mark.skip-->
```sh
influxctl database create \
--max-tables 200 \
--max-columns 150 \
mydb
```
### Create a database with a custom partition template
The following example creates a new `mydb` database and applies a partition
template that partitions by two tags (`room` and `sensor-type`) and by day using
the time format `%Y-%m-%d`:
<!--Skip tests for database create and delete: namespaces aren't reusable-->
<!--pytest.mark.skip-->
```sh
influxctl database create \
--template-tag room \
--template-tag sensor-type \
--template-tag-bucket customerID,1000 \
--template-timeformat '%Y-%m-%d' \
mydb
```
_For more information about custom partitioning, see
[Manage data partitioning](/influxdb3/clustered/admin/custom-partitions/)._
{{% expand "View command updates" %}}
#### v2.7.0 {date="2024-03-26"}
- Introduce the `--template-tag-bucket` flag to group tag values into buckets
and partition by each tag bucket.
#### v2.5.0 {date="2024-03-04"}
- Introduce the `--template-tag` and `--template-timeformat` flags that define
a custom partition template for a database.
{{% /expand %}}
<!-- //SOURCE content/shared/influxctl/database/create.md -->

View File

@ -7,65 +7,7 @@ menu:
influxdb3_clustered:
parent: influxctl database
weight: 301
source: /shared/influxctl/database/delete.md
---
The `influxctl database delete` command deletes a database from an
{{< product-name omit=" Clustered" >}} cluster.
## Usage
<!--Skip tests for database create and delete: namespaces aren't reusable-->
<!--pytest.mark.skip-->
```sh
influxctl database delete [command options] [--force] <DATABASE_NAME> [<DATABASE_NAME_N>...]
```
> [!Warning]
> #### Cannot be undone
>
> Deleting a database is a destructive action that cannot be undone.
>
> #### Wait before writing to a new database with the same name
>
> After deleting a database from your {{% product-name omit=" Clustered" %}}
> cluster, you can reuse the name to create a new database, but **wait two to
> three minutes** after deleting the previous database before writing to the new
> database to allow write caches to clear.
## Arguments
| Argument | Description |
| :---------------- | :----------------------------- |
| **DATABASE_NAME** | Name of the database to delete |
## Flags
| Flag | | Description |
| :--- | :-------- | :---------------------------------------------------------- |
| | `--force` | Do not prompt for confirmation to delete (default is false) |
| `-h` | `--help` | Output command help |
{{% caption %}}
_Also see [`influxctl` global flags](/influxdb3/clustered/reference/cli/influxctl/#global-flags)._
{{% /caption %}}
## Examples
##### Delete a database named "mydb"
<!--Skip tests for database create and delete: namespaces aren't reusable-->
<!--pytest.mark.skip-->
```sh
influxctl database delete mydb
```
##### Delete multiple databases
<!--Skip tests for database create and delete: namespaces aren't reusable-->
<!--pytest.mark.skip-->
```sh
influxctl database delete mydb1 mydb2
```
<!-- //SOURCE content/shared/influxctl/database/delete.md -->

View File

@ -1,34 +1,13 @@
---
title: influxctl database list
description: >
The `influxctl database list` command lists all databases in an InfluxDB Cloud
Dedicated cluster.
The `influxctl database list` command lists all databases in an
{{% product-name omit=" Clustered" %}} cluster.
menu:
influxdb3_clustered:
parent: influxctl database
weight: 301
source: /shared/influxctl/database/list.md
---
The `influxctl database list` command lists all databases in an InfluxDB Cloud
Dedicated cluster.
The `--format` flag lets you print the output in other formats.
The `json` format is available for programmatic parsing by other tooling.
Default: `table`.
## Usage
```sh
influxctl database list [--format=table|json]
```
## Flags
| Flag | | Description |
| :--- | :--------- | :-------------------------------------------- |
| | `--format` | Output format (`table` _(default)_ or `json`) |
| `-h` | `--help` | Output command help |
{{% caption %}}
_Also see [`influxctl` global flags](/influxdb3/clustered/reference/cli/influxctl/#global-flags)._
{{% /caption %}}
<!-- //SOURCE content/shared/influxctl/database/list.md -->

View File

@ -0,0 +1,14 @@
---
title: influxctl database rename
description: >
The `influxctl database rename` command renames a database in an
{{% product-name omit=" Clustered" %}} cluster.
menu:
influxdb3_clustered:
parent: influxctl database
weight: 301
metadata: [influxctl 2.10.2+]
source: /shared/influxctl/database/rename.md
---
<!-- //SOURCE content/shared/influxctl/database/rename.md -->

View File

@ -0,0 +1,14 @@
---
title: influxctl database undelete
description: >
The `influxctl database undelete` command undeletes a previously deleted
database in an {{% product-name omit=" Clustered" %}} cluster.
menu:
influxdb3_clustered:
parent: influxctl database
weight: 301
metadata: [influxctl 2.10.2+]
source: /shared/influxctl/database/undelete.md
---
<!-- //SOURCE content/shared/influxctl/database/undelete.md -->

View File

@ -7,86 +7,7 @@ menu:
influxdb3_clustered:
parent: influxctl database
weight: 301
source: /shared/influxctl/database/update.md
---
The `influxctl database update` command updates a database's retention period,
table (measurement), or column limits in InfluxDB.
## Usage
<!-- pytest.mark.skip -->
```sh
influxctl database update [flags] <DATABASE_NAME>
```
## Arguments
| Argument | Description |
| :---------------- | :----------------------------- |
| **DATABASE_NAME** | Name of the database to update |
## Flags
| Flag | | Description |
| :--- | :------------------- | :----------------------------------------------------------- |
| | `--retention-period` | [Database retention period ](/influxdb3/clustered/admin/databases/#retention-periods)(default is `0s` or infinite) |
| | `--max-tables` | [Maximum tables per database](/influxdb3/clustered/admin/databases/#table-limit) (default is 500, `0` uses default) |
| | `--max-columns` | [Maximum columns per table](/influxdb3/clustered/admin/databases/#column-limit) (default is 250, `0` uses default) |
| `-h` | `--help` | Output command help |
{{% caption %}}
_Also see [`influxctl` global flags](/influxdb3/clustered/reference/cli/influxctl/#global-flags)._
{{% /caption %}}
## Examples
- [Update a database's retention period](#update-a-databases-retention-period)
- [Update a database's table limit](#update-a-databases-table-limit)
- [Update a database's column limit](#update-a-databases-column-limit)
### Update a database's retention period
```sh
influxctl database update --retention-period 1mo mydb
```
{{< flex >}}
{{% flex-content "half" %}}
##### Valid durations units
- `m`: minute
- `h`: hour
- `d`: day
- `w`: week
- `mo`: month
- `y`: year
{{% /flex-content %}}
{{% flex-content "half" %}}
##### Example retention period values
- `0d`: infinite/none
- `3d`: 3 days
- `6w`: 6 weeks
- `1mo`: 1 month (30 days)
- `1y`: 1 year
- `30d30d`: 60 days
- `2.5d`: 60 hours
{{% /flex-content %}}
{{< /flex >}}
### Update a database's table limit
```sh
influxctl database update --max-tables 300 mydb
```
### Update a database's column limit
```sh
influxctl database update --max-columns 200 mydb
```
<!-- //SOURCE content/shared/influxctl/database/update.md -->

View File

@ -1,31 +1,15 @@
---
title: influxctl table
description: >
The `influxctl table` command and its subcommands manage tables in an InfluxDB cluster.
The `influxctl table` command and its subcommands manage tables in an
{{% product-name omit=" Clustered" %}} cluster.
menu:
influxdb3_clustered:
parent: influxctl
weight: 201
cascade:
metadata: [influxctl 2.5.0+]
source: /shared/influxctl/table/_index.md
---
The `influxctl table` command and its subcommands manage tables in an InfluxDB cluster.
## Usage
```sh
influxctl table [subcommand] [flags]
```
## Subcommands
| Subcommand | Description |
| :------------------------------------------------------------------ | :------------- |
| [create](/influxdb3/clustered/reference/cli/influxctl/table/create/) | Create a table |
## Flags
| Flag | | Description |
| :--- | :------- | :------------------ |
| `-h` | `--help` | Output command help |
<!-- //SOURCE content/shared/influxctl/table/_index.md -->

View File

@ -9,101 +9,7 @@ weight: 301
related:
- /influxdb3/clustered/admin/custom-partitions/define-custom-partitions/
- /influxdb3/clustered/admin/custom-partitions/partition-templates/
source: /shared/influxctl/table/create.md
---
The `influxctl table create` command creates a new table in the specified
database in an {{< product-name omit=" Clustered" >}} cluster.
#### Custom partitioning
You can override the default partition template (the partition template of the target database)
with the `--template-tag`, `--template-tag-bucket`, and `--template-timeformat`
flags when you create the table.
Provide a time format using [Rust strftime](/influxdb3/clustered/admin/custom-partitions/partition-templates/#time-part-templates), partition by specific tag, or partition tag values
into a specified number of "buckets."
Each of these can be used as part of the partition template.
Be sure to follow [partitioning best practices](/influxdb3/clustered/admin/custom-partitions/best-practices/).
> [!Note]
> #### Always provide a time format when using custom partitioning
>
> If defining a custom partition template for your table with any of the
> `--template-*` flags, always include the `--template-timeformat` flag with a
> time format to use in your partition template.
> Otherwise, InfluxDB omits time from the partition template and won't compact partitions.
## Usage
```sh
influxctl table create [flags] <DATABASE_NAME> <TABLE_NAME>
```
## Arguments
| Argument | Description |
| :---------------- | :-------------------------- |
| **DATABASE_NAME** | Name of the target database |
| **TABLE_NAME** | Table name |
## Flags
| Flag | | Description |
| :--- | :---------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- |
| | `--template-tag` | Tag to add to partition template (can include multiple of this flag) |
| | `--template-tag-bucket` | Tag and number of buckets to partition tag values into separated by a comma--for example: `tag1,100` (can include multiple of this flag) |
| | `--template-timeformat` | Timestamp format for partition template <!--(default is `%Y-%m-%d`)--> |
| `-h` | `--help` | Output command help |
{{% caption %}}
_Also see [`influxctl` global flags](/influxdb3/clustered/reference/cli/influxctl/#global-flags)._
{{% /caption %}}
## Examples
- [Create a table](#create-a-table)
- [Create a table with a custom partition template](#create-a-table-with-a-custom-partition-template)
In the following examples, replace:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}:
The name of the database to create the table in.
- {{% code-placeholder-key %}}`TABLE_NAME` {{% /code-placeholder-key %}}:
The name of table to create.
### Create a table
{{% code-placeholders "(DATABASE|TABLE)_NAME" %}}
```sh
influxctl table create DATABASE_NAME TABLE_NAME
```
{{% /code-placeholders %}}
### Create a table with a custom partition template
The following example creates a new table and applies a partition
template that partitions by two tags (`room` and `sensor-type`) and by day using
the time format `%Y-%m-%d`:
{{% code-placeholders "(DATABASE|TABLE)_NAME" %}}
```sh
influxctl table create \
--template-tag room \
--template-tag sensor-type \
--template-tag-bucket customerID,1000 \
--template-timeformat '%Y-%m-%d' \
DATABASE_NAME \
TABLE_NAME
```
{{% /code-placeholders %}}
_For more information about custom partitioning, see
[Manage data partitioning](/influxdb3/clustered/admin/custom-partitions/)._
{{% expand "View command updates" %}}
#### v2.7.0 {date="2024-03-26"}
- Introduce the `--template-tag-bucket` flag to group tag values into buckets
and partition by each tag bucket.
{{% /expand %}}
<!-- //SOURCE content/shared/influxctl/table/create.md -->

View File

@ -0,0 +1,15 @@
---
title: influxctl table delete
description: >
The `influxctl table delete` command deletes a specified table from a database.
menu:
influxdb3_clustered:
parent: influxctl table
weight: 301
related:
- /influxdb3/clustered/admin/tables/delete/
metadata: [influxctl 2.10.2+]
source: /shared/influxctl/table/delete.md
---
<!-- //SOURCE content/shared/influxctl/table/delete.md -->

View File

@ -0,0 +1,15 @@
---
title: influxctl table iceberg
description: >
The `influxctl table iceberg` command and its subcommands enable or disable
Iceberg-compatible exports for a table in an InfluxDB Cloud Dedicated cluster.
menu:
influxdb3_clustered:
parent: influxctl table
weight: 301
cascade:
metadata: [influxctl 2.10.2+]
source: /shared/influxctl/table/iceberg/_index.md
---
<!-- //SOURCE content/shared/influxctl/table/iceberg/_index.md -->

View File

@ -0,0 +1,13 @@
---
title: influxctl table iceberg disable
description: >
The `influxctl table iceberg disable` command disables Iceberg-compatible exports
for a table in an InfluxDB Cloud Dedicated cluster.
menu:
influxdb3_clustered:
parent: influxctl table iceberg
weight: 401
source: /shared/influxctl/table/iceberg/disable.md
---
<!-- //SOURCE content/shared/influxctl/table/iceberg/disable.md -->

View File

@ -0,0 +1,13 @@
---
title: influxctl table iceberg enable
description: >
The `influxctl table iceberg enable` command enables Iceberg-compatible exports
for a table in an InfluxDB Cloud Dedicated cluster.
menu:
influxdb3_clustered:
parent: influxctl table iceberg
weight: 401
source: /shared/influxctl/table/iceberg/enable.md
---
<!-- //SOURCE content/shared/influxctl/table/iceberg/enable.md -->

View File

@ -0,0 +1,15 @@
---
title: influxctl table list
description: >
The `influxctl table list` command lists all tables in the specified database.
menu:
influxdb3_clustered:
parent: influxctl table
weight: 301
related:
- /influxdb3/clustered/admin/tables/list/
metadata: [influxctl 2.10.2+]
source: /shared/influxctl/table/list.md
---
<!-- //SOURCE content/shared/influxctl/table/list.md -->

View File

@ -250,8 +250,8 @@ spec:
#### Release artifacts
- [app-instance-schema.json](/downloads/clustered-release-artifacts/20241022-1346953/app-instance-schema.json)
- [example-customer.yml](/downloads/clustered-release-artifacts/20241022-1346953/example-customer.yml)
- [app-instance-schema.json](/downloads/clustered-release-artifacts/20241024-1354148/app-instance-schema.json)
- [example-customer.yml](/downloads/clustered-release-artifacts/20241024-1354148/example-customer.yml)
- [InfluxDB Clustered README EULA July 2024.txt](/downloads/clustered-release-artifacts/InfluxDB%20Clustered%20README%20EULA%20July%202024.txt)
### Known Bugs
@ -804,13 +804,13 @@ version of `influxctl` prior to v2.8.0.
```yaml
spec:
package:
image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240325-920726
image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240326-922145
```
#### Release artifacts
- [app-instance-schema.json](/downloads/clustered-release-artifacts/20240325-920726/app-instance-schema.json)
- [example-customer.yml](/downloads/clustered-release-artifacts/20240325-920726/example-customer.yml)
- [app-instance-schema.json](/downloads/clustered-release-artifacts/20240326-922145/app-instance-schema.json)
- [example-customer.yml](/downloads/clustered-release-artifacts/20240326-922145/example-customer.yml)
- [InfluxDB Clustered README EULA July 2024.txt](/downloads/clustered-release-artifacts/InfluxDB%20Clustered%20README%20EULA%20July%202024.txt)
### Highlights
@ -1424,12 +1424,6 @@ spec:
image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230915-630658
```
#### Release artifacts
- [app-instance-schema.json](/downloads/clustered-release-artifacts/20230915-630658/app-instance-schema.json)
- [example-customer.yml](/downloads/clustered-release-artifacts/20230915-630658/example-customer.yml)
- [InfluxDB Clustered README EULA July 2024.txt](/downloads/clustered-release-artifacts/InfluxDB%20Clustered%20README%20EULA%20July%202024.txt)
### Highlights
#### Persistent volume fixes
@ -1456,12 +1450,6 @@ spec:
image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230914-628600
```
#### Release artifacts
- [app-instance-schema.json](/downloads/clustered-release-artifacts/20230914-628600/app-instance-schema.json)
- [example-customer.yml](/downloads/clustered-release-artifacts/20230914-628600/example-customer.yml)
- [InfluxDB Clustered README EULA July 2024.txt](/downloads/clustered-release-artifacts/InfluxDB%20Clustered%20README%20EULA%20July%202024.txt)
### Highlights
#### Updated Azure AD documentation
@ -1497,12 +1485,6 @@ spec:
image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230912-619813
```
#### Release artifacts
- [app-instance-schema.json](/downloads/clustered-release-artifacts/20230912-619813/app-instance-schema.json)
- [example-customer.yml](/downloads/clustered-release-artifacts/20230912-619813/example-customer.yml)
- [InfluxDB Clustered README EULA July 2024.txt](/downloads/clustered-release-artifacts/InfluxDB%20Clustered%20README%20EULA%20July%202024.txt)
### Highlights
#### Custom CA certificates {note="(Optional)"}
@ -1573,12 +1555,6 @@ spec:
image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230911-604209
```
#### Release artifacts
- [app-instance-schema.json](/downloads/clustered-release-artifacts/20230911-604209/app-instance-schema.json)
- [example-customer.yml](/downloads/clustered-release-artifacts/20230911-604209/example-customer.yml)
- [InfluxDB Clustered README EULA July 2024.txt](/downloads/clustered-release-artifacts/InfluxDB%20Clustered%20README%20EULA%20July%202024.txt)
### Highlights
This release contains a breaking change to the monitoring subsystem that
@ -1628,12 +1604,6 @@ spec:
image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230908-600131
```
#### Release artifacts
- [app-instance-schema.json](/downloads/clustered-release-artifacts/20230908-600131/app-instance-schema.json)
- [example-customer.yml](/downloads/clustered-release-artifacts/20230908-600131/example-customer.yml)
- [InfluxDB Clustered README EULA July 2024.txt](/downloads/clustered-release-artifacts/InfluxDB%20Clustered%20README%20EULA%20July%202024.txt)
### Highlights
#### Default storage class
@ -1661,12 +1631,6 @@ spec:
image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230907-597343
```
#### Release artifacts
- [app-instance-schema.json](/downloads/clustered-release-artifacts/20230907-597343/app-instance-schema.json)
- [example-customer.yml](/downloads/clustered-release-artifacts/20230907-597343/example-customer.yml)
- [InfluxDB Clustered README EULA July 2024.txt](/downloads/clustered-release-artifacts/InfluxDB%20Clustered%20README%20EULA%20July%202024.txt)
### Upgrade Notes
This release requires a new configuration block:

View File

@ -12,6 +12,7 @@ influxdb3/core/tags: [databases]
related:
- /influxdb3/core/write-data/best-practices/schema-design/
- /influxdb3/core/reference/cli/influxdb3/
- /influxdb3/explorer/manage-databases/
alt_links:
cloud: /influxdb/cloud/admin/buckets/
cloud_dedicated: /influxdb3/cloud-dedicated/admin/databases/

View File

@ -17,6 +17,7 @@ list_code_example: |
{{% /code-placeholders %}}
related:
- /influxdb3/core/reference/cli/influxdb3/create/database/
- /influxdb3/explorer/manage-databases/
source: /shared/influxdb3-admin/databases/create.md
---

View File

@ -16,6 +16,7 @@ list_code_example: |
{{% /code-placeholders %}}
related:
- /influxdb3/core/reference/cli/influxdb3/delete/database/
- /influxdb3/explorer/manage-databases/
source: /shared/influxdb3-admin/databases/delete.md
---

View File

@ -13,6 +13,7 @@ list_code_example: |
```
related:
- /influxdb3/core/reference/cli/influxdb3/show/databases/
- /influxdb3/explorer/manage-databases/
source: /shared/influxdb3-admin/databases/list.md
---

View File

@ -0,0 +1,27 @@
---
title: Process data in {{% product-name %}}
seotitle: Process data | Get started with {{% product-name %}}
description: >
Learn how to use the {{% product-name %}} Processing Engine to process data and
perform various tasks like downsampling, alerting, forecasting, data
normalization, and more.
menu:
influxdb3_core:
name: Process data
identifier: gs-process-data
parent: Get started
weight: 104
aliases:
- /influxdb3/core/get-started/process-data/
- /influxdb3/core/get-started/processing-engine/
related:
- /influxdb3/core/plugins/
- /influxdb3/core/reference/cli/influxdb3/create/plugin/
- /influxdb3/core/reference/cli/influxdb3/create/trigger/
source: /shared/influxdb3-get-started/processing-engine.md
---
<!--
The content of this page is at
// SOURCE content/shared/influxdb3-get-started/query.md
-->

View File

@ -0,0 +1,24 @@
---
title: Query data in {{% product-name %}}
seotitle: Query data | Get started with {{% product-name %}}
description: >
Learn how to get started querying data in {{% product-name %}} using native
SQL or InfluxQL with the `influxdb3` CLI and other tools.
menu:
influxdb3_core:
name: Query data
identifier: gs-query-data
parent: Get started
weight: 103
related:
- /influxdb3/core/query-data/
- /influxdb3/core/reference/sql/
- https://datafusion.apache.org/user-guide/sql/index.html, Apache DataFusion SQL reference
- /influxdb3/core/reference/influxql/
source: /shared/influxdb3-get-started/query.md
---
<!--
The content of this page is at
// SOURCE content/shared/influxdb3-get-started/query.md
-->

View File

@ -0,0 +1,21 @@
---
title: Set up {{% product-name %}}
seotitle: Set up InfluxDB | Get started with {{% product-name %}}
description: >
Install, configure, and set up authorization for {{% product-name %}}.
menu:
influxdb3_core:
name: Set up Core
parent: Get started
weight: 3
related:
- /influxdb3/core/install/
- /influxdb3/core/admin/tokens/
- /influxdb3/core/reference/config-options/
source: /shared/influxdb3-get-started/setup.md
---
<!--
The content of this page is at
// SOURCE content/shared/influxdb3-get-started/setup.md
-->

View File

@ -0,0 +1,22 @@
---
title: Write data to {{% product-name %}}
seotitle: Write data | Get started with {{% product-name %}}
description: >
Learn how to write time series data to {{% product-name %}} using the
`influxdb3` CLI and _line protocol_, an efficient, human-readable write syntax.
menu:
influxdb3_core:
name: Write data
identifier: gs-write-data
parent: Get started
weight: 102
related:
- /influxdb3/core/write-data/
- /influxdb3/core/reference/line-protocol/
source: /shared/influxdb3-get-started/write.md
---
<!--
The content of this page is at
// SOURCE content/shared/influxdb3-get-started/write.md
-->

View File

@ -32,6 +32,7 @@ influxdb3 [GLOBAL-OPTIONS] [COMMAND]
| [serve](/influxdb3/core/reference/cli/influxdb3/serve/) | Run the {{% product-name %}} server |
| [show](/influxdb3/core/reference/cli/influxdb3/show/) | List resources |
| [test](/influxdb3/core/reference/cli/influxdb3/test/) | Test plugins |
| [update](/influxdb3/core/reference/cli/influxdb3/update/) | Update resources |
| [write](/influxdb3/core/reference/cli/influxdb3/write/) | Write to {{% product-name %}} |
## Global options

View File

@ -1,16 +0,0 @@
---
title: influxdb3 create file_index
description: >
The `influxdb3 create file_index` command creates a new file index for a
database or table.
menu:
influxdb3_core:
parent: influxdb3 create
name: influxdb3 create file_index
weight: 400
source: /shared/influxdb3-cli/create/file_index.md
---
<!--
The content of this file is at content/shared/influxdb3-cli/create/file_index.md
-->

View File

@ -1,16 +0,0 @@
---
title: influxdb3 delete file_index
description: >
The `influxdb3 delete file_index` command deletes a file index for a
database or table.
menu:
influxdb3_core:
parent: influxdb3 delete
name: influxdb3 delete file_index
weight: 400
source: /shared/influxdb3-cli/delete/file_index.md
---
<!--
The content of this file is at content/shared/influxdb3-cli/delete/file_index.md
-->

View File

@ -24,8 +24,8 @@ influxdb3 serve [OPTIONS] --node-id <HOST_IDENTIFIER_PREFIX>
## Required parameters
- **node-id**: A unique identifier for your server instance. Must be unique for any hosts sharing the same object store.
- **object-store**: Determines where time series data is stored. _Default is `memory`_.
- **data-dir**: Path for local file storage (required when using `--object-store file`).
- **object-store**: Determines where time series data is stored.
- Other object store parameters depending on the selected `object-store` type.
> [!NOTE]
> `--node-id` supports alphanumeric strings with optional hyphens.

View File

@ -0,0 +1,15 @@
---
title: influxdb3 update
description: >
The `influxdb3 update` command updates resources such as databases.
menu:
influxdb3_core:
parent: influxdb3
name: influxdb3 update
weight: 300
source: /shared/influxdb3-cli/update/_index.md
---
<!--
// SOURCE content/shared/influxdb3-cli/update/_index.md
-->

View File

@ -0,0 +1,15 @@
---
title: influxdb3 update database
description: >
The `influxdb3 update database` command updates an existing database.
menu:
influxdb3_core:
parent: influxdb3 update
name: influxdb3 update database
weight: 400
source: /shared/influxdb3-cli/update/database/_index.md
---
<!--
// SOURCE content/shared/influxdb3-cli/update/database/_index.md
-->

View File

@ -144,7 +144,7 @@ influxdb3 serve
Specifies which object storage to use to store Parquet files.
This option supports the following values:
- `memory` _(default)_
- `memory`
- `memory-throttled`
- `file`
- `s3`
@ -171,7 +171,7 @@ Required when using the `file` [object store](#object-store).
#### node-id
Specifies the node identifier used as a prefix in all object store file paths.
This should be unique for any hosts sharing the same object store
Use a unique node identifier for each host sharing the same object store
configuration--for example, the same bucket.
| influxdb3 serve option | Environment variable |
@ -186,7 +186,7 @@ Limits the number of Parquet files a query can access.
**Default:** `432`
With the default `432` setting and the default [`gen1-duration`](#`gen1-duration`)
With the default `432` setting and the default [`gen1-duration`](#gen1-duration)
setting of 10 minutes, queries can access up to a 72 hours of data, but
potentially less depending on whether all data for a given 10 minute block of
time was ingested during the same period.

View File

@ -1,21 +1,21 @@
---
title: Use the HTTP API and client libraries to write data
title: Use InfluxDB client libraries to write data
description: >
Use the `/api/v3/write_lp` HTTP API endpoint and InfluxDB API clients to write points as line protocol data to {{% product-name %}}.
Use InfluxDB API clients to write points as line protocol data to {{% product-name %}}.
menu:
influxdb3_core:
name: Use the API and client libraries
name: Use client libraries
parent: Write data
identifier: write-api-client-libs
identifier: write-client-libs
weight: 100
aliases:
- /influxdb3/core/write-data/client-libraries/
- /influxdb3/core/write-data/api-client-libraries/
related:
- /influxdb3/core/reference/syntax/line-protocol/
- /influxdb3/core/get-started/write/
- /influxdb3/core/reference/client-libraries/v3/
- /influxdb3/core/api/v3/#operation/PostWriteLP, /api/v3/write_lp endpoint
source: /shared/influxdb3-write-guides/api-client-libraries.md
source: /shared/influxdb3-write-guides/client-libraries.md
---
<!--

View File

@ -0,0 +1,22 @@
---
title: Use the InfluxDB HTTP API to write data
description: >
Use the `/api/v3/write_lp`, `/api/v2/write`, or `/write` HTTP API endpoints
to write data to {{% product-name %}}.
menu:
influxdb3_core:
name: Use the HTTP API
parent: Write data
identifier: write-http-api
weight: 100
related:
- /influxdb3/core/reference/syntax/line-protocol/
- /influxdb3/core/get-started/write/
- /influxdb3/core/api/v3/#operation/PostWriteLP, /api/v3/write_lp endpoint
source: /shared/influxdb3-write-guides/http-api/_index.md
---
<!--
The content for this page is at
// SOURCE content/shared/influxdb3-write-guides/http-api/_index.md
-->

View File

@ -6,21 +6,21 @@ description: >
menu:
influxdb3_core:
name: Use v1 and v2 compatibility APIs
parent: Write data
identifier: write-compatibility-client-libs
weight: 101
parent: write-http-api
weight: 202
aliases:
- /influxdb3/core/write-data/client-libraries/
- /influxdb3/core/write-data/compatibility-apis/
related:
- /influxdb3/core/reference/syntax/line-protocol/
- /influxdb3/core/get-started/write/
- /influxdb3/core/reference/client-libraries/v2/
- /influxdb3/core/api/v3/#operation/PostV2Write, /api/v2/write (v2-compatible) endpoint
- /influxdb3/core/api/v3/#operation/PostV1Write, /write (v1-compatible) endpoint
source: /shared/influxdb3-write-guides/compatibility-apis.md
source: /shared/influxdb3-write-guides/http-api/compatibility-apis.md
---
<!--
The content for this page is at
// SOURCE content/shared/influxdb3-write-guides/compatibility-apis.md
// SOURCE content/shared/influxdb3-write-guides/http-api/compatibility-apis.md
-->

View File

@ -0,0 +1,20 @@
---
title: Use the v3 write API to write data
description: >
Use the `/api/v3/write_lp` HTTP API endpoint to write data to {{% product-name %}}.
menu:
influxdb3_core:
name: Use the v3 write API
parent: write-http-api
weight: 201
related:
- /influxdb3/core/reference/syntax/line-protocol/
- /influxdb3/core/get-started/write/
- /influxdb3/core/api/v3/#operation/PostWriteLP, /api/v3/write_lp endpoint
source: /shared/influxdb3-write-guides/http-api/v3-write-lp.md
---
<!--
The content for this page is at
// SOURCE content/shared/influxdb3-write-guides/http-api/v3-write-lp.md
-->

View File

@ -12,6 +12,7 @@ influxdb3/enterprise/tags: [databases]
related:
- /influxdb3/enterprise/write-data/best-practices/schema-design/
- /influxdb3/enterprise/reference/cli/influxdb3/
- /influxdb3/explorer/manage-databases/
alt_links:
cloud: /influxdb/cloud/admin/buckets/
cloud_dedicated: /influxdb3/cloud-dedicated/admin/databases/

View File

@ -17,6 +17,7 @@ list_code_example: |
{{% /code-placeholders %}}
related:
- /influxdb3/enterprise/reference/cli/influxdb3/create/database/
- /influxdb3/explorer/manage-databases/
source: /shared/influxdb3-admin/databases/create.md
---

View File

@ -16,6 +16,7 @@ list_code_example: |
{{% /code-placeholders %}}
related:
- /influxdb3/enterprise/reference/cli/influxdb3/delete/database/
- /influxdb3/explorer/manage-databases/
source: /shared/influxdb3-admin/databases/delete.md
---

View File

@ -13,6 +13,7 @@ list_code_example: |
```
related:
- /influxdb3/enterprise/reference/cli/influxdb3/show/databases/
- /influxdb3/explorer/manage-databases/
source: /shared/influxdb3-admin/databases/list.md
---

View File

@ -0,0 +1,51 @@
---
title: Manage file indexes
seotitle: Manage file indexes in {{< product-name >}}
description: >
Customize the indexing strategy of a database or table in {{% product-name %}}
to optimize the performance of single-series queries.
menu:
influxdb3_enterprise:
parent: Administer InfluxDB
weight: 106
influxdb3/enterprise/tags: [indexing]
---
{{% product-name %}} lets you customize how your data is indexed to help
optimize query performance for your specific workload, especially workloads that
include single-series queries. Indexes help the InfluxDB query engine quickly
identify the physical location of files that contain the queried data.
By default, InfluxDB indexes on the primary key—`time` and tag columns. However,
if your schema includes tags that you don't specifically use when querying, you
can define a custom indexing strategy to only index on `time` and columns
important to your query workload.
For example, if your schema includes the following columns:
- country
- state_province
- county
- city
- postal_code
And in your query workload, you only query based on country, state or province,
and city, you can create a custom file indexing strategy that only indexes on
`time` and these specific columns. This makes your index more efficient and
improves the performance of your single-series queries.
> [!Note]
> File indexes can use any string column, including both tags and fields.
- [Indexing life cycle](#indexing-life-cycle)
- [Create a custom file index](#create-a-custom-file-index)
- [Delete a custom file index](#delete-a-custom-file-index)
## Indexing life cycle
{{% product-name %}} builds indexes as it compacts data. Compaction is the
process that organizes and optimizes Parquet files in storage and occurs in
multiple phases or generations. Generation 1 (gen1) data is un-compacted and
is not indexed. Generation 2 (gen2) data and beyond is all indexed.
{{< children hlevel="h2" >}}

View File

@ -0,0 +1,62 @@
---
title: Create a custom file index
seotitle: Create a custom file index in {{< product-name >}}
description: >
Use the [`influxdb3 create file_index` command](/influxdb3/enterprise/reference/cli/influxdb3/create/file_index/)
to create a custom file indexing strategy for a database or a table.
menu:
influxdb3_enterprise:
parent: Manage file indexes
weight: 106
influxdb3/enterprise/tags: [indexing]
related:
- /influxdb3/enterprise/reference/cli/influxdb3/create/file_index/
list_code_example: |
<!--pytest.mark.skip-->
```bash
influxdb3 create file_index \
--database example-db \
--token 00xoXX0xXXx0000XxxxXx0Xx0xx0 \
--table wind_data \
country,city
```
---
Use the [`influxdb3 create file_index` command](/influxdb3/enterprise/reference/cli/influxdb3/create/file_index/)
to create a custom file indexing strategy for a database or table.
Provide the following:
- **Token** (`--token`): _({{< req >}})_ Your {{% token-link "admin" %}}.
You can also use the `INFLUXDB3_AUTH_TOKEN` environment variable to specify
the token.
- **Database** (`-d`, `--database`): _({{< req >}})_ The name of the database to
apply the index to. You can also use the `INFLUXDB3_DATABASE_NAME`
environment variable to specify the database.
- **Table** (`-t`, `--table`): The name of the table to apply the index to.
If no table is specified, the indexing strategy applies to all tables in the
specified database.
- **Columns**: _({{< req >}})_ A comma-separated list of string columns to
index on. These are typically tag columns but can also be string fields.
{{% code-placeholders "AUTH_TOKEN|DATABASE|TABLE|COLUMNS" %}}
<!--pytest.mark.skip-->
```bash
influxdb3 create file_index \
--token AUTH_TOKEN \
--database DATABASE_NAME \
--table TABLE_NAME \
COLUMNS
```
{{% /code-placeholders %}}
Replace the following placeholders with your values:
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}:
your {{% token-link "admin" %}}
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}:
the name of the database to create the file index in
- {{% code-placeholder-key %}}`TABLE_NAME`{{% /code-placeholder-key %}}:
the name of the table to create the file index in
- {{% code-placeholder-key %}}`COLUMNS`{{% /code-placeholder-key %}}:
a comma-separated list of columns to index on--for example: `host,application`

View File

@ -0,0 +1,58 @@
---
title: Delete a custom file index
seotitle: Delete a custom file index in {{< product-name >}}
description: >
Use the [`influxdb3 delete file_index` command](/influxdb3/enterprise/reference/cli/influxdb3/delete/file_index/)
to delete a custom file indexing strategy from a database or a table and revert
to the default indexing strategy.
menu:
influxdb3_enterprise:
parent: Manage file indexes
weight: 106
influxdb3/enterprise/tags: [indexing]
related:
- /influxdb3/enterprise/reference/cli/influxdb3/delete/file_index/
list_code_example: |
<!--pytest.mark.skip-->
```bash
influxdb3 delete file_index \
--database example-db \
--token 00xoXX0xXXx0000XxxxXx0Xx0xx0 \
--table wind_data
```
---
Use the [`influxdb3 delete file_index` command](/influxdb3/enterprise/reference/cli/influxdb3/delete/file_index/)
to delete a custom file indexing strategy from a database or a table and revert
to the default indexing strategy.
Provide the following:
- **Token** (`--token`): _({{< req >}})_ Your {{% token-link "admin" %}}.
You can also use the `INFLUXDB3_AUTH_TOKEN` environment variable to specify
the token.
- **Database** (`-d`, `--database`): _({{< req >}})_ The name of the database to
apply remove the custom index from. You can also use the `INFLUXDB3_DATABASE_NAME`
environment variable to specify the database.
- **Table** (`-t`, `--table`): The name of the table to remove the custom index from.
If no table is specified, the custom indexing strategy is removed from all
tables in the specified database.
{{% code-placeholders "AUTH_TOKEN|DATABASE|TABLE|COLUMNS" %}}
```bash
influxdb3 delete file_index \
--host http://localhost:8585 \
--database DATABASE_NAME \
--table TABLE_NAME \
```
{{% /code-placeholders %}}
Replace the following placeholders with your values:
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}:
your {{% token-link "admin" %}}
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}:
the name of the database to remove the custom file index from
- {{% code-placeholder-key %}}`TABLE_NAME`{{% /code-placeholder-key %}}:
the name of the table to remove the custom file index from

View File

@ -101,7 +101,7 @@ The license file is a JWT file that contains the license information.
> use one of the methods to [skip the email prompt](#skip-the-email-prompt).
> This ensures that the container can generate the license file after you
> verify your email address.
> See the [Docker Compose example](?t=Docker+compose#activate-a-trial-or-home-license-with-docker).
> See the [Docker Compose example](?t=Docker+compose#start-with-license-email-and-compose).
#### Skip the email prompt
@ -186,7 +186,7 @@ existing license if it's still valid.
{{% code-tabs %}}
[influxdb3 options](#)
[Environment variables](#)
[Docker compose](#example-activate-trial-or-home-with-compose)
[Docker compose](#start-with-license-email-and-compose)
{{% /code-tabs %}}
{{% code-tab-content %}}
<!------------------------ BEGIN INFLUXDB3 CLI OPTIONS ------------------------>
@ -215,6 +215,7 @@ influxdb3 serve \
{{% /code-tab-content %}}
{{% code-tab-content %}}
<!------------------------ BEGIN DOCKER COMPOSE ------------------------>
{{% code-placeholders "${EMAIL_ADDRESS}" %}}
```yaml
# compose.yaml
name: data-crunching-stack
@ -235,7 +236,8 @@ services:
- --object-store=file
- --data-dir=/var/lib/influxdb3
- --plugin-dir=/var/lib/influxdb3/plugins
- --license-email=INFLUXDB3_LICENSE_EMAIL
environment:
- INFLUXDB3_LICENSE_EMAIL=${EMAIL_ADDRESS}
volumes:
- type: bind
source: ~/.influxdb3/data
@ -244,6 +246,9 @@ services:
source: ~/.influxdb3/plugins
target: /var/lib/influxdb3/plugins
```
{{% /code-placeholders %}}
Replace {{% code-placeholder-key %}}`${EMAIL_ADDRESS}`{{% /code-placeholder-key %}} with your email address
or a variable from your Compose `.env` file.
<!------------------------- END DOCKER COMPOSE ------------------------->
{{% /code-tab-content %}}
{{< /code-tabs-wrapper >}}

View File

@ -6,6 +6,8 @@ menu:
influxdb3_enterprise:
parent: Administer InfluxDB
weight: 202
related:
- /influxdb3/explorer/manage-tokens/
source: /shared/influxdb3-admin/tokens/_index.md
---

View File

@ -10,6 +10,9 @@ menu:
parent: Manage tokens
name: Admin tokens
weight: 101
cascade:
related:
- /influxdb3/explorer/manage-tokens/
influxdb3/enterprise/tags: [tokens]
source: /shared/influxdb3-admin/tokens/admin/_index.md
---

View File

@ -0,0 +1,528 @@
---
title: Create a multi-node cluster
seotitle: Create a multi-node InfluxDB 3 Enterprise cluster
description: >
Create a multi-node InfluxDB 3 Enterprise cluster for high availability,
performance, read replicas, and more to meet the specific needs of your use case.
menu:
influxdb3_enterprise:
name: Create a multi-node cluster
parent: Get started
identifier: gs-multi-node-cluster
weight: 102
influxdb3/enterprise/tags: [cluster, multi-node, multi-server]
---
Create a multi-node {{% product-name %}} cluster for high availability, performance, and workload isolation.
Configure nodes with specific _modes_ (ingest, query, process, compact) to optimize for your use case.
## Prerequisites
- Shared object store
- Network connectivity between nodes
## Basic multi-node setup
<!-- pytest.mark.skip -->
```bash
## NODE 1 compacts stored data
# Example variables
# node-id: 'host01'
# cluster-id: 'cluster01'
# bucket: 'influxdb-3-enterprise-storage'
influxdb3 serve \
--node-id host01 \
--cluster-id cluster01 \
--mode ingest,query,compact \
--object-store s3 \
--bucket influxdb-3-enterprise-storage \
--http-bind {{< influxdb/host >}} \
--aws-access-key-id <AWS_ACCESS_KEY_ID> \
--aws-secret-access-key <AWS_SECRET_ACCESS_KEY>
```
<!-- pytest.mark.skip -->
```bash
## NODE 2 handles writes and queries
# Example variables
# node-id: 'host02'
# cluster-id: 'cluster01'
# bucket: 'influxdb-3-enterprise-storage'
influxdb3 serve \
--node-id host02 \
--cluster-id cluster01 \
--mode ingest,query \
--object-store s3 \
--bucket influxdb-3-enterprise-storage \
--http-bind localhost:8282 \
--aws-access-key-id AWS_ACCESS_KEY_ID \
--aws-secret-access-key AWS_SECRET_ACCESS_KEY
```
Learn how to set up a multi-node cluster for different use cases, including high availability, read replicas, processing data, and workload isolation.
- [Create an object store](#create-an-object-store)
- [Connect to your object store](#connect-to-your-object-store)
- [Server modes](#server-modes)
- [Cluster configuration examples](#cluster-configuration-examples)
- [Writing and querying in multi-node clusters](#writing-and-querying-in-multi-node-clusters)
## Create an object store
With the {{% product-name %}} diskless architecture, all data is stored in a common object store.
In a multi-node cluster, you connect all nodes to the same object store.
Enterprise supports the following object stores:
- AWS S3 (or S3-compatible)
- Azure Blob Storage
- Google Cloud Storage
> [!Note]
> Refer to your object storage provider's documentation for
> setting up an object store.
## Connect to your object store
When starting your {{% product-name %}} node, include provider-specific options for connecting to your object store--for example:
{{< tabs-wrapper >}}
{{% tabs %}}
[S3 or S3-compatible](#)
[Azure Blob Storage](#)
[Google Cloud Storage](#)
{{% /tabs %}}
{{% tab-content %}}
<!---------------------------------- BEGIN S3 --------------------------------->
To use an AWS S3 or S3-compatible object store, provide the following options
with your `influxdb3 serve` command:
- `--object-store`: `s3`
- `--bucket`: Your AWS S3 bucket name
- `--aws-access-key-id`: Your AWS access key ID
_(can also be defined using the `AWS_ACCESS_KEY_ID` environment variable)_
- `--aws-secret-access-key`: Your AWS secret access key
_(can also be defined using the `AWS_SECRET_ACCESS_KEY` environment variable)_
{{% code-placeholders "AWS_(BUCKET_NAME|ACCESS_KEY_ID|SECRET_ACCESS_KEY)" %}}
<!-- pytest.mark.skip -->
```bash
influxdb3 serve \
# ...
--object-store s3 \
--bucket AWS_BUCKET_NAME \
--aws-access-key-id AWS_ACCESS_KEY_ID \
--aws-secret-access-key AWS_SECRET_ACCESS_KEY
```
{{% /code-placeholders %}}
_For information about other S3-specific settings, see
[Configuration options - AWS](/influxdb3/enterprise/reference/config-options/#aws)._
<!----------------------------------- END S3 ---------------------------------->
{{% /tab-content %}}
{{% tab-content %}}
<!-------------------------- BEGIN AZURE BLOB STORAGE ------------------------->
To use Azure Blob Storage as your object store, provide the following options
with your `influxdb3 serve` command:
- `--object-store`: `azure`
- `--bucket`: Your Azure Blob Storage container name
- `--azure-storage-account`: Your Azure Blob Storage storage account name
_(can also be defined using the `AZURE_STORAGE_ACCOUNT` environment variable)_
- `--aws-secret-access-key`: Your Azure Blob Storage access key
_(can also be defined using the `AZURE_STORAGE_ACCESS_KEY` environment variable)_
{{% code-placeholders "AZURE_(CONTAINER_NAME|STORAGE_ACCOUNT|STORAGE_ACCESS_KEY)" %}}
<!-- pytest.mark.skip -->
```bash
influxdb3 serve \
# ...
--object-store azure \
--bucket AZURE_CONTAINER_NAME \
--azure-storage-account AZURE_STORAGE_ACCOUNT \
--azure-storage-access-key AZURE_STORAGE_ACCESS_KEY
```
{{% /code-placeholders %}}
<!--------------------------- END AZURE BLOB STORAGE -------------------------->
{{% /tab-content %}}
{{% tab-content %}}
<!------------------------- BEGIN GOOGLE CLOUD STORAGE ------------------------>
To use Google Cloud Storage as your object store, provide the following options
with your `influxdb3 serve` command:
- `--object-store`: `google`
- `--bucket`: Your Google Cloud Storage bucket name
- `--google-service-account`: The path to to your Google credentials JSON file
_(can also be defined using the `GOOGLE_SERVICE_ACCOUNT` environment variable)_
{{% code-placeholders "GOOGLE_(BUCKET_NAME|SERVICE_ACCOUNT)" %}}
<!-- pytest.mark.skip -->
```bash
influxdb3 serve \
# ...
--object-store google \
--bucket GOOGLE_BUCKET_NAME \
--google-service-account GOOGLE_SERVICE_ACCOUNT
```
{{% /code-placeholders %}}
<!-------------------------- END GOOGLE CLOUD STORAGE ------------------------->
{{% /tab-content %}}
{{< /tabs-wrapper >}}
## Server modes
{{% product-name %}} _modes_ determine what subprocesses the Enterprise node runs.
These subprocesses fulfill required tasks including data ingestion, query
processing, compaction, and running the processing engine.
The `influxdb3 serve --mode` option defines what subprocesses a node runs.
Each node can run in one _or more_ of the following modes:
- **all** _(default)_: Runs all necessary subprocesses.
- **ingest**: Runs the data ingestion subprocess to handle writes.
- **query**: Runs the query processing subprocess to handle queries.
- **process**: Runs the processing engine subprocess to trigger and execute plugins.
- **compact**: Runs the compactor subprocess to optimize data in object storage.
> [!Important]
> Only _one_ node in your cluster can run in `compact` mode.
### Server mode examples
#### Configure a node to only handle write requests
<!-- pytest.mark.skip -->
```bash
influxdb3 serve \
# ...
--mode ingest
```
#### Configure a node to only run the Compactor
<!-- pytest.mark.skip -->
```bash
influxdb3 serve \
# ...
--mode compact
```
#### Configure a node to handle queries and run the processing engine
<!-- pytest.mark.skip -->
```bash
influxdb3 serve \
# ...
--mode query,process
```
## Cluster configuration examples
- [High availability cluster](#high-availability-cluster)
- [High availability with a dedicated Compactor](#high-availability-with-a-dedicated-compactor)
- [High availability with read replicas and a dedicated Compactor](#high-availability-with-read-replicas-and-a-dedicated-compactor)
### High availability cluster
A minimum of two nodes are required for basic high availability (HA), with both
nodes reading and writing data.
{{< img-hd src="/img/influxdb/influxdb-3-enterprise-high-availability.png" alt="Basic high availability setup" />}}
In a basic HA setup:
- Two nodes both write data to the same object store and both handle queries
- Node 1 and Node 2 are _read replicas_ that read from each others object store directories
- One of the nodes is designated as the Compactor node
> [!Note]
> Only one node can be designated as the Compactor.
> Compacted data is meant for a single writer, and many readers.
The following examples show how to configure and start two nodes for a basic HA
setup.
- _Node 1_ is for compaction
- _Node 2_ is for ingest and query
<!-- pytest.mark.skip -->
```bash
## NODE 1
# Example variables
# node-id: 'host01'
# cluster-id: 'cluster01'
# bucket: 'influxdb-3-enterprise-storage'
influxdb3 serve \
--node-id host01 \
--cluster-id cluster01 \
--mode ingest,query,compact \
--object-store s3 \
--bucket influxdb-3-enterprise-storage \
--http-bind {{< influxdb/host >}} \
--aws-access-key-id <AWS_ACCESS_KEY_ID> \
--aws-secret-access-key <AWS_SECRET_ACCESS_KEY>
```
<!-- pytest.mark.skip -->
```bash
## NODE 2
# Example variables
# node-id: 'host02'
# cluster-id: 'cluster01'
# bucket: 'influxdb-3-enterprise-storage'
influxdb3 serve \
--node-id host02 \
--cluster-id cluster01 \
--mode ingest,query \
--object-store s3 \
--bucket influxdb-3-enterprise-storage \
--http-bind localhost:8282 \
--aws-access-key-id AWS_ACCESS_KEY_ID \
--aws-secret-access-key AWS_SECRET_ACCESS_KEY
```
After the nodes have started, querying either node returns data for both nodes,
and _NODE 1_ runs compaction.
To add nodes to this setup, start more read replicas with the same cluster ID.
### High availability with a dedicated Compactor
Data compaction in {{% product-name %}} is one of the more computationally
demanding operations.
To ensure stable performance in ingest and query nodes, set up a
compactor-only node to isolate the compaction workload.
{{< img-hd src="/img/influxdb/influxdb-3-enterprise-dedicated-compactor.png" alt="Dedicated Compactor setup" />}}
The following examples sets up high availability with a dedicated Compactor node:
1. Start two read-write nodes as read replicas, similar to the previous example.
<!-- pytest.mark.skip -->
```bash
## NODE 1 — Writer/Reader Node #1
# Example variables
# node-id: 'host01'
# cluster-id: 'cluster01'
# bucket: 'influxdb-3-enterprise-storage'
influxdb3 serve \
--node-id host01 \
--cluster-id cluster01 \
--mode ingest,query \
--object-store s3 \
--bucket influxdb-3-enterprise-storage \
--http-bind {{< influxdb/host >}} \
--aws-access-key-id <AWS_ACCESS_KEY_ID> \
--aws-secret-access-key <AWS_SECRET_ACCESS_KEY>
```
<!-- pytest.mark.skip -->
```bash
## NODE 2 — Writer/Reader Node #2
# Example variables
# node-id: 'host02'
# cluster-id: 'cluster01'
# bucket: 'influxdb-3-enterprise-storage'
influxdb3 serve \
--node-id host02 \
--cluster-id cluster01 \
--mode ingest,query \
--object-store s3 \
--bucket influxdb-3-enterprise-storage \
--http-bind localhost:8282 \
--aws-access-key-id <AWS_ACCESS_KEY_ID> \
--aws-secret-access-key <AWS_SECRET_ACCESS_KEY>
```
2. Start the dedicated compactor node with the `--mode=compact` option to ensure the node **only** runs compaction.
```bash
## NODE 3 — Compactor Node
# Example variables
# node-id: 'host03'
# cluster-id: 'cluster01'
# bucket: 'influxdb-3-enterprise-storage'
influxdb3 serve \
--node-id host03 \
--cluster-id cluster01 \
--mode compact \
--object-store s3 \
--bucket influxdb-3-enterprise-storage \
--aws-access-key-id <AWS_ACCESS_KEY_ID> \
--aws-secret-access-key <AWS_SECRET_ACCESS_KEY>
```
### High availability with read replicas and a dedicated Compactor
For a robust and effective setup for managing time-series data, you can run
ingest nodes alongside query nodes and a dedicated Compactor node.
{{< img-hd src="/img/influxdb/influxdb-3-enterprise-workload-isolation.png" alt="Workload Isolation Setup" />}}
1. Start ingest nodes with the **`ingest`** mode.
> [!Note]
> Send all write requests to only your ingest nodes.
```bash
## NODE 1 — Writer Node #1
# Example variables
# node-id: 'host01'
# cluster-id: 'cluster01'
# bucket: 'influxdb-3-enterprise-storage'
influxdb3 serve \
--node-id host01 \
--cluster-id cluster01 \
--mode ingest \
--object-store s3 \
--bucket influxdb-3-enterprise-storage \
--http-bind {{< influxdb/host >}} \
--aws-access-key-id <AWS_ACCESS_KEY_ID> \
--aws-secret-access-key <AWS_SECRET_ACCESS_KEY>
```
<!-- The following examples use different ports for different nodes. Don't use the influxdb/host shortcode below. -->
```bash
## NODE 2 — Writer Node #2
# Example variables
# node-id: 'host02'
# cluster-id: 'cluster01'
# bucket: 'influxdb-3-enterprise-storage'
influxdb3 serve \
--node-id host02 \
--cluster-id cluster01 \
--mode ingest \
--object-store s3 \
--bucket influxdb-3-enterprise-storage \
--http-bind localhost:8282 \
--aws-access-key-id <AWS_ACCESS_KEY_ID> \
--aws-secret-access-key <AWS_SECRET_ACCESS_KEY>
```
2. Start the dedicated Compactor node with the `compact` mode.
```bash
## NODE 3 — Compactor Node
# Example variables
# node-id: 'host03'
# cluster-id: 'cluster01'
# bucket: 'influxdb-3-enterprise-storage'
influxdb3 serve \
--node-id host03 \
--cluster-id cluster01 \
--mode compact \
--object-store s3 \
--bucket influxdb-3-enterprise-storage \
--aws-access-key-id <AWS_ACCESS_KEY_ID> \
<AWS_SECRET_ACCESS_KEY>
```
3. Finally, start the query nodes using the `query` mode.
> [!Note]
> Send all query requests to only your query nodes.
```bash
## NODE 4 — Read Node #1
# Example variables
# node-id: 'host04'
# cluster-id: 'cluster01'
# bucket: 'influxdb-3-enterprise-storage'
influxdb3 serve \
--node-id host04 \
--cluster-id cluster01 \
--mode query \
--object-store s3 \
--bucket influxdb-3-enterprise-storage \
--http-bind localhost:8383 \
--aws-access-key-id <AWS_ACCESS_KEY_ID> \
--aws-secret-access-key <AWS_SECRET_ACCESS_KEY>
```
```bash
## NODE 5 — Read Node #2
# Example variables
# node-id: 'host05'
# cluster-id: 'cluster01'
# bucket: 'influxdb-3-enterprise-storage'
influxdb3 serve \
--node-id host05 \
--cluster-id cluster01 \
--mode query \
--object-store s3 \
--bucket influxdb-3-enterprise-storage \
--http-bind localhost:8484 \
--aws-access-key-id <AWS_ACCESS_KEY_ID> \
<AWS_SECRET_ACCESS_KEY>
```
## Writing and querying in multi-node clusters
You can use the default port `8181` for any write or query request without
changing any of the commands.
> [!Note]
> #### Specify hosts for write and query requests
>
> To benefit from this multi-node, isolated architecture:
>
> - Send write requests to a node that you have designated as an ingester.
> - Send query requests to a node that you have designated as a querier.
>
> When running multiple local instances for testing or separate nodes in
> production, specifying the host ensures writes and queries are routed to the
> correct instance.
{{% code-placeholders "(http://localhost:8585)|AUTH_TOKEN|DATABASE_NAME|QUERY" %}}
```bash
# Example querying a specific host
# HTTP-bound Port: 8585
influxdb3 query \
--host http://localhost:8585
--token AUTH_TOKEN \
--database DATABASE_NAME \
"QUERY"
```
{{% /code-placeholders %}}
Replace the following placeholders with your values:
- {{% code-placeholder-key %}}`http://localhost:8585`{{% /code-placeholder-key %}}: the host and port of the node to query
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: your {{% token-link "database" %}}{{% show-in "enterprise" %}} with permission to query the specified database{{% /show-in %}}
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the database to query
- {{% code-placeholder-key %}}`QUERY`{{% /code-placeholder-key %}}: the SQL or InfluxQL query to run against the database
{{% page-nav
prev="/influxdb3/enterprise/get-started/setup/"
prevText="Set up InfluxDB"
next="/influxdb3/enterprise/get-started/write/"
nextText="Write data"
%}}

View File

@ -0,0 +1,27 @@
---
title: Process data in {{% product-name %}}
seotitle: Process data | Get started with {{% product-name %}}
description: >
Learn how to use the {{% product-name %}} Processing Engine to process data and
perform various tasks like downsampling, alerting, forecasting, data
normalization, and more.
menu:
influxdb3_enterprise:
name: Process data
identifier: gs-process-data
parent: Get started
weight: 105
aliases:
- /influxdb3/enterprise/get-started/process-data/
- /influxdb3/enterprise/get-started/processing-engine/
related:
- /influxdb3/enterprise/plugins/
- /influxdb3/enterprise/reference/cli/influxdb3/create/plugin/
- /influxdb3/enterprise/reference/cli/influxdb3/create/trigger/
source: /shared/influxdb3-get-started/processing-engine.md
---
<!--
The content of this page is at
// SOURCE content/shared/influxdb3-get-started/query.md
-->

View File

@ -0,0 +1,24 @@
---
title: Query data in {{% product-name %}}
seotitle: Query data | Get started with {{% product-name %}}
description: >
Learn how to get started querying data in {{% product-name %}} using native
SQL or InfluxQL with the `influxdb3` CLI and other tools.
menu:
influxdb3_enterprise:
name: Query data
identifier: gs-query-data
parent: Get started
weight: 104
related:
- /influxdb3/enterprise/query-data/
- /influxdb3/enterprise/reference/sql/
- https://datafusion.apache.org/user-guide/sql/index.html, Apache DataFusion SQL reference
- /influxdb3/enterprise/reference/influxql/
source: /shared/influxdb3-get-started/query.md
---
<!--
The content of this page is at
// SOURCE content/shared/influxdb3-get-started/query.md
-->

View File

@ -0,0 +1,21 @@
---
title: Set up {{% product-name %}}
seotitle: Set up InfluxDB | Get started with {{% product-name %}}
description: >
Install, configure, and set up authorization for {{% product-name %}}.
menu:
influxdb3_enterprise:
name: Set up Enterprise
parent: Get started
weight: 101
related:
- /influxdb3/enterprise/install/
- /influxdb3/enterprise/admin/tokens/
- /influxdb3/enterprise/reference/config-options/
source: /shared/influxdb3-get-started/setup.md
---
<!--
The content of this page is at
// SOURCE content/shared/influxdb3-get-started/setup.md
-->

View File

@ -0,0 +1,22 @@
---
title: Write data to {{% product-name %}}
seotitle: Write data | Get started with {{% product-name %}}
description: >
Learn how to write time series data to {{% product-name %}} using the
`influxdb3` CLI and _line protocol_, an efficient, human-readable write syntax.
menu:
influxdb3_enterprise:
name: Write data
identifier: gs-write-data
parent: Get started
weight: 103
related:
- /influxdb3/enterprise/write-data/
- /influxdb3/enterprise/reference/line-protocol/
source: /shared/influxdb3-get-started/write.md
---
<!--
The content of this page is at
// SOURCE content/shared/influxdb3-get-started/write.md
-->

View File

@ -32,6 +32,7 @@ influxdb3 [GLOBAL-OPTIONS] [COMMAND]
| [serve](/influxdb3/enterprise/reference/cli/influxdb3/serve/) | Run the {{% product-name %}} server |
| [show](/influxdb3/enterprise/reference/cli/influxdb3/show/) | List resources |
| [test](/influxdb3/enterprise/reference/cli/influxdb3/test/) | Test plugins |
| [update](/influxdb3/enterprise/reference/cli/influxdb3/update/) | Update resources |
| [write](/influxdb3/enterprise/reference/cli/influxdb3/write/) | Write to {{% product-name %}} |
## Global options

View File

@ -4,7 +4,7 @@ description: >
The `influxdb3 create token` command creates an admin token or a scoped resource token for authenticating and authorizing actions in an {{% product-name %}} instance.
menu:
influxdb3_enterprise:
parent: influxdb3
parent: influxdb3 create
name: influxdb3 create token
weight: 300
source: /shared/influxdb3-cli/create/token/_index.md

View File

@ -27,8 +27,8 @@ influxdb3 serve [OPTIONS] \
- **node-id**: A unique identifier for your server instance. Must be unique for any hosts sharing the same object store.
- **cluster-id**: A unique identifier for your cluster. Must be different from any node-id in your cluster.
- **object-store**: Determines where time series data is stored. _Default is `memory`_.
- **data-dir**: Path for local file storage (required when using `--object-store file`).
- **object-store**: Determines where time series data is stored.
- Other object store parameters depending on the selected `object-store` type.
> [!NOTE]
> `--node-id` and `--cluster-id` support alphanumeric strings with optional hyphens.

View File

@ -0,0 +1,88 @@
---
title: influxdb3 show license
description: >
The `influxdb3 show license` command displays license information for your
InfluxDB 3 Enterprise server.
menu:
influxdb3_enterprise:
parent: influxdb3 show
name: influxdb3 show license
weight: 300
---
The `influxdb3 show license` command displays license information for your {{< product-name >}} instance.
## Usage
<!--pytest.mark.skip-->
```bash
influxdb3 show license [OPTIONS]
```
## Options
| Option | | Description |
| :----- | :----------- | :--------------------------------------------------------------------------------------- |
| `-H` | `--host` | Host URL of the running {{< product-name >}} server (default is `http://127.0.0.1:8181`) |
| | `--cluster-id` | _({{< req >}})_ Cluster identifier |
| | `--node-id` | _({{< req >}})_ Node identifier |
| | `--object-store` | _({{< req >}})_ Object store type (file, memory, s3, gcs, azure) |
| | `--token` | Authentication token |
| | `--tls-ca` | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
| `-h` | `--help` | Print help information |
| | `--help-all` | Print detailed help information |
> [!Note]
> **CLI help documentation bug in v3.2.0**
>
> The `influxdb3 show license --help` output in v3.2.0 does not display the required `--object-store`, `--cluster-id`, and `--node-id` options and related object store configuration options.
> This command requires object store configuration and cluster/node identification to function properly.
### Additional object store options
Depending on the `--object-store` type specified, additional configuration options may be required:
- **S3**: AWS credentials and bucket configuration
- **GCS**: Google Cloud credentials and bucket configuration
- **Azure**: Azure credentials and container configuration
- **File**: Local file system path configuration
### Option environment variables
You can use the following environment variables to set command options:
| Environment Variable | Option |
| :------------------------ | :----------- |
| `INFLUXDB3_HOST_URL` | `--host` |
| `INFLUXDB3_AUTH_TOKEN` | `--token` |
## Examples
### Display license information with file object store
{{% code-placeholders "AUTH_TOKEN|CLUSTER_ID|NODE_ID" %}}
<!--pytest.mark.skip-->
```bash
influxdb3 show license \
--cluster-id CLUSTER_ID \
--node-id NODE_ID \
--object-store file \
--token AUTH_TOKEN
```
{{% /code-placeholders %}}
In the example above, replace the following:
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}:
Authentication token
- {{% code-placeholder-key %}}`CLUSTER_ID`{{% /code-placeholder-key %}}:
Your cluster identifier
- {{% code-placeholder-key %}}`NODE_ID`{{% /code-placeholder-key %}}:
Your node identifier
The command displays information about your Enterprise license, including license type, expiration date, and usage limits.

View File

@ -0,0 +1,15 @@
---
title: influxdb3 update
description: >
The `influxdb3 update` command updates resources such as databases and tables.
menu:
influxdb3_enterprise:
parent: influxdb3
name: influxdb3 update
weight: 300
source: /shared/influxdb3-cli/update/_index.md
---
<!--
// SOURCE content/shared/influxdb3-cli/update/_index.md
-->

View File

@ -0,0 +1,15 @@
---
title: influxdb3 update database
description: >
The `influxdb3 update database` command updates an existing database.
menu:
influxdb3_enterprise:
parent: influxdb3 update
name: influxdb3 update database
weight: 400
source: /shared/influxdb3-cli/update/database/_index.md
---
<!--
// SOURCE content/shared/influxdb3-cli/update/database/_index.md
-->

View File

@ -0,0 +1,17 @@
---
title: influxdb3 update table
description: >
The `influxdb3 update table` command updates an existing table.
menu:
influxdb3_enterprise:
parent: influxdb3 update
name: influxdb3 update table
weight: 400
source: /shared/influxdb3-cli/update/table/_index.md
alt_links:
core: /influxdb3/core/reference/cli/influxdb3/update/
---
<!--
// SOURCE content/shared/influxdb3-cli/update/table/_index.md
-->

View File

@ -254,6 +254,8 @@ export DATABASE_NODE=node0 && influxdb3 serve \
--cluster-id cluster0 \
--object-store file \
--data-dir ~/.influxdb3/data
```
---
#### object-store
@ -261,7 +263,7 @@ export DATABASE_NODE=node0 && influxdb3 serve \
Specifies which object storage to use to store Parquet files.
This option supports the following values:
- `memory` _(default)_: Effectively no object persistence
- `memory`: Effectively no object persistence
- `memory-throttled`: Like `memory` but with latency and throughput that somewhat resembles a cloud object store
- `file`: Stores objects in the local filesystem (must also set `--data-dir`)
- `s3`: Amazon S3 (must also set `--bucket`, `--aws-access-key-id`, `--aws-secret-access-key`, and possibly `--aws-default-region`)
@ -318,7 +320,6 @@ The server processes all requests without requiring tokens or authentication.
Optionally disable authz by passing in a comma separated list of resources.
Valid values are `health`, `ping`, and `metrics`.
---
### AWS

View File

@ -1,24 +1,24 @@
---
title: Use the HTTP API and client libraries to write data
title: Use InfluxDB client libraries to write data
description: >
Use the `/api/v3/write_lp` HTTP API endpoint and InfluxDB API clients to write points as line protocol data to {{% product-name %}}.
Use InfluxDB API clients to write points as line protocol data to {{% product-name %}}.
menu:
influxdb3_enterprise:
name: Use the API and client libraries
name: Use client libraries
parent: Write data
identifier: write-api-client-libs
identifier: write-client-libs
weight: 100
aliases:
- /influxdb3/enterprise/write-data/client-libraries/
- /influxdb3/enterprise/write-data/api-client-libraries/
related:
- /influxdb3/enterprise/reference/syntax/line-protocol/
- /influxdb3/enterprise/get-started/write/
- /influxdb3/enterprise/reference/client-libraries/v3/
- /influxdb3/enterprise/api/v3/#operation/PostWriteLP, /api/v3/write_lp endpoint
source: /shared/influxdb3-write-guides/api-client-libraries.md
source: /shared/influxdb3-write-guides/client-libraries.md
---
<!--
The content for this page is at
// SOURCE content/shared/influxdb3-write-guides/client-libraries.md
-->
-->

View File

@ -17,10 +17,10 @@ related:
- /influxdb3/enterprise/reference/client-libraries/v2/
- /influxdb3/enterprise/api/v3/#operation/PostV2Write, /api/v2/write (v2-compatible) endpoint
- /influxdb3/enterprise/api/v3/#operation/PostV1Write, /write (v1-compatible) endpoint
source: /shared/influxdb3-write-guides/compatibility-apis.md
source: /shared/influxdb3-write-guides/http-api/compatibility-apis.md
---
<!--
The content for this page is at
// SOURCE content/shared/influxdb3-write-guides/compatibility-apis.md
// SOURCE content/shared/influxdb3-write-guides/http-api/compatibility-apis.md
-->

View File

@ -0,0 +1,22 @@
---
title: Use the InfluxDB HTTP API to write data
description: >
Use the `/api/v3/write_lp`, `/api/v2/write`, or `/write` HTTP API endpoints
to write data to {{% product-name %}}.
menu:
influxdb3_enterprise:
name: Use the HTTP API
parent: Write data
identifier: write-http-api
weight: 100
related:
- /influxdb3/enterprise/reference/syntax/line-protocol/
- /influxdb3/enterprise/get-started/write/
- /influxdb3/enterprise/api/v3/#operation/PostWriteLP, /api/v3/write_lp endpoint
source: /shared/influxdb3-write-guides/http-api/_index.md
---
<!--
The content for this page is at
// SOURCE content/shared/influxdb3-write-guides/http-api/_index.md
-->

View File

@ -0,0 +1,26 @@
---
title: Use compatibility APIs and client libraries to write data
description: >
Use HTTP API endpoints compatible with InfluxDB v2 and v1 clients to write
points as line protocol data to {{% product-name %}}.
menu:
influxdb3_enterprise:
name: Use v1 and v2 compatibility APIs
parent: write-http-api
weight: 202
aliases:
- /influxdb3/enterprise/write-data/client-libraries/
- /influxdb3/enterprise/write-data/compatibility-apis/
related:
- /influxdb3/enterprise/reference/syntax/line-protocol/
- /influxdb3/enterprise/get-started/write/
- /influxdb3/enterprise/reference/client-libraries/v2/
- /influxdb3/enterprise/api/v3/#operation/PostV2Write, /api/v2/write (v2-compatible) endpoint
- /influxdb3/enterprise/api/v3/#operation/PostV1Write, /write (v1-compatible) endpoint
source: /shared/influxdb3-write-guides/http-api/compatibility-apis.md
---
<!--
The content for this page is at
// SOURCE content/shared/influxdb3-write-guides/http-api/compatibility-apis.md
-->

Some files were not shown because too many files have changed in this diff Show More