Merge branch 'master' into telegraf-release
commit
eb6c17f325
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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 ///////////////////////////////
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -97,4 +97,4 @@ blockquote {
|
|||
"blocks/important",
|
||||
"blocks/warning",
|
||||
"blocks/caution",
|
||||
"blocks/beta";
|
||||
"blocks/special-state";
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
24
compose.yaml
24
compose.yaml
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ minify:
|
|||
params:
|
||||
env: staging
|
||||
environment: staging
|
||||
server:
|
||||
server: {
|
||||
disableLiveReload: true
|
||||
}
|
||||
|
||||
|
|
@ -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 %}}
|
||||
|
|
|
|||
|
|
@ -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 %}}
|
||||
|
|
@ -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 %}}
|
||||
|
|
@ -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 %}}
|
||||
|
|
@ -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 >}}
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
@ -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 -->
|
||||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
@ -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 -->
|
||||
|
|
@ -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 -->
|
||||
|
|
@ -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 -->
|
||||
|
|
@ -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 -->
|
||||
|
|
@ -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
|
||||
>
|
||||
|
|
|
|||
|
|
@ -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 %}}
|
||||
|
|
@ -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 %}}
|
||||
|
|
@ -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.
|
||||
|
|
@ -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 >}}
|
||||
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
@ -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 -->
|
||||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
|
|||
|
|
@ -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 -->
|
||||
|
|
@ -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 -->
|
||||
|
|
@ -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 -->
|
||||
|
|
@ -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 -->
|
||||
|
|
@ -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 -->
|
||||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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/
|
||||
|
|
|
|||
|
|
@ -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
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
---
|
||||
|
||||
<!--
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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/
|
||||
|
|
|
|||
|
|
@ -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
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -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" >}}
|
||||
|
|
@ -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`
|
||||
|
|
@ -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
|
||||
|
|
@ -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 >}}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@ menu:
|
|||
influxdb3_enterprise:
|
||||
parent: Administer InfluxDB
|
||||
weight: 202
|
||||
related:
|
||||
- /influxdb3/explorer/manage-tokens/
|
||||
source: /shared/influxdb3-admin/tokens/_index.md
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
---
|
||||
|
|
|
|||
|
|
@ -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 other’s 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"
|
||||
%}}
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
-->
|
||||
-->
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
|
||||
-->
|
||||
|
|
@ -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
Loading…
Reference in New Issue