1 - GET databases

返回数据库及其当前状态和数据库属性的列表。

资源 URL

https://<NODE>:5444/databases

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有受限 级别或更高级别的安全性。

参数

无。

示例请求

使用 cURL 的完整请求的示例:

curl -H "VerticaApiKey: ValidAPIKey" https://<NODE>:5444/databases

响应:

{
    "body": [
        {
            "href": "/databases/VMart",
            "mime-type": [
                "application/vertica.database.json-v2"
            ],
            "name": "VMart",
            "port": "5433",
            "status": "UP"
        },
        {
            "href": "/databases/testDB",
            "mime-type": [
                "application/vertica.database.json-v2"
            ],
            "name": "testDB",
            "port": "5433",
            "status": "DOWN"
        }
    ],
    "href": "/databases",
    "links": [
        "/:database_name"
    ],
    "mime-type": "application/vertica.databases.json-v2"
}

2 - POST databases

创建一个作业,以使用所提供的参数创建新数据库。

返回一个作业 ID,它可用于确定作业的状态。请参阅GET jobs

资源 URL

https://<NODE>:5444/databases

<<<<<<<

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有管理级别的安全性。

API 密钥必须具有管理 级别的安全性。

参数

示例请求

响应:

{
    "jobid": "CreateDatabase-testDB-2014-07-07 15:49:53.219445",
    "resource": "/jobs/CreateDatabase-testDB-2014-07-07 15:49:53.219445",
    "userid": "dbadmin"
}

3 - GET databases/:database_name

返回特定数据库的详细信息。:database_nameGET databases 命令返回的 name 字段的值。

资源 URL

https://<NODE>:5444/databases/:database_name

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有受限 级别或更高级别的安全性。

参数

无。

示例请求

响应:

{
    "body": {
        "database_id": "VMart",
        "id": "VMart",
        "nodes": "v_vmart_node0001,v_vmart_node0002,v_vmart_node0003",
        "nodes_new": [
            {
                "catalog_base": "/home/dbadmin",
                "data_base": "/home/dbadmin",
                "host": "10.20.100.247",
                "id": "v_vmart_node0001"
            },
            {
                "catalog_base": "/home/dbadmin",
                "data_base": "/home/dbadmin",
                "host": "10.20.100.248",
                "id": "v_vmart_node0002"
            },
            {
                "catalog_base": "/home/dbadmin",
                "data_base": "/home/dbadmin",
                "host": "10.20.100.249",
                "id": "v_vmart_node0003"
            }
        ],
        "path": "/home/dbadmin/VMart",
        "port": "5433",
        "restartpolicy": "ksafe",
        "status": "UP"
    },
    "href": "/databases/VMart",
    "links": [
        "/configuration",
        "/hosts",
        "/license",
        "/nodes",
        "/process",
        "/rebalance/process",
        "/status",
        "/Workload Analyzer/process"
    ],
    "mime-type": "application/vertica.database.json-v2"
}

4 - PUT databases/:database_name

创建一个作业,以对 :database_name 所标识的数据库运行 action 参数所标识的操作。:database_nameGET databases 命令返回的 name 字段的值。

返回一个作业 ID,它可用于确定作业的状态。请参阅GET jobs

资源 URL

https://<NODE>:5444/databases/:database_name

认证

请求头中需要包含 VerticaAPIKey

API 密钥的安全性级别必须为普通或更高。

参数

示例请求

响应:

{
    "id": "StopDatabase-testDB-2014-07-20 13:28:49.321744",
    "url": "/jobs/StopDatabase-testDB-2014-07-20 13:28:49.321744"
}

5 - DELETE databases/:database_name

创建一个作业,以在群集中删除(丢弃)现有数据库。若要执行此操作,您必须先停止该数据库。:database_nameGET databases 命令返回的 name 字段的值。

返回一个作业 ID,它可用于确定作业的状态。请参阅GET jobs

资源 URL

https://<NODE>:5444/databases/:database_name

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有管理 级别的安全性。

参数

无。

示例请求

响应:

{
    "id": "DropDatabase-TestDB-2014-07-18 12:50:33.332383",
    "url": "/jobs/DropDatabase-TestDB-2014-07-18 12:50:33.332383"
}

6 - GET databases/:database_name/configuration

返回 :database_name 所标识的数据库的配置参数列表。:database_nameGET databases 命令返回的 name 字段的值。

资源 URL

https://<NODE>:5444/databases/:database_name/configuration

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有受限 级别或更高级别的安全性。

参数

示例请求

响应:

此 API 调用将返回超过 100 个配置参数。以下响应只是返回的总数中的一小部分。

[
    {
        "node_name": "ALL",
        "parameter_name": "ACDAlgorithmForSynopsisVersion1",
        "current_value": "1",
        "restart_value": "1",
        "database_value": "1",
        "default_value": "1",
        "current_level": "DEFAULT",
        "restart_level": "DEFAULT",
        "is_mismatch": "f",
        "groups": "",
        "allowed_levels": "SESSION, DATABASE",
        "superuser_visible_only": "f",
        "change_under_support_guidance": "t",
        "change_requires_restart": "f",
        "description": "Algorithm used to interpret synopsis version 1 for approximate count distinct"
    },
    {
        "node_name": "ALL",
        "parameter_name": "ACDLinearCountThreshold",
        "current_value": "-1.000000",
        "restart_value": "-1.000000",
        "database_value": "-1.000000",
        "default_value": "-1.000000",
        "current_level": "DEFAULT",
        "restart_level": "DEFAULT",
        "is_mismatch": "f",
        "groups": "",
        "allowed_levels": "SESSION, DATABASE",
        "superuser_visible_only": "f",
        "change_under_support_guidance": "t",
        "change_requires_restart": "f",
        "description": "If positive, will overwrite the default linear counting threshold in approximate count distinct"
    },
    {
        "node_name": "ALL",
        "parameter_name": "ACDSynopsisVersion",
        "current_value": "2",
        "restart_value": "2",
        "database_value": "2",
        "default_value": "2",
        "current_level": "DEFAULT",
        "restart_level": "DEFAULT",
        "is_mismatch": "f",
        "groups": "",
        "allowed_levels": "SESSION, DATABASE",
        "superuser_visible_only": "f",
        "change_under_support_guidance": "t",
        "change_requires_restart": "f",
        "description": "Default synopsis version to be generated by approximate count distinct"
    },
    {
        "node_name": "ALL",
        "parameter_name": "AHMBackupManagement",
        "current_value": "0",
        "restart_value": "0",
        "database_value": "0",
        "default_value": "0",
        "current_level": "DEFAULT",
        "restart_level": "DEFAULT",
        "is_mismatch": "f",
        "groups": "",
        "allowed_levels": "NODE, DATABASE",
        "superuser_visible_only": "f",
        "change_under_support_guidance": "t",
        "change_requires_restart": "f",
        "description": "Consider backup epochs when setting new AHM"
    },
    {
        "node_name": "ALL",
        "parameter_name": "ARCCommitPercentage",
        "current_value": "3.000000",
        "restart_value": "3.000000",
        "database_value": "3.000000",
        "default_value": "3.000000",
        "current_level": "DEFAULT",
        "restart_level": "DEFAULT",
        "is_mismatch": "f",
        "groups": "",
        "allowed_levels": "DATABASE",
        "superuser_visible_only": "f",
        "change_under_support_guidance": "t",
        "change_requires_restart": "f",
        "description": "ARC will commit only if the change is more than the percentage specified"
    },
    {
        "node_name": "ALL",
        "parameter_name": "AWSCAFile",
        "current_value": "",
        "restart_value": "",
        "database_value": "",
        "default_value": "",
        "current_level": "DEFAULT",
        "restart_level": "DEFAULT",
        "is_mismatch": "f",
        "groups": "",
        "allowed_levels": "DATABASE",
        "superuser_visible_only": "f",
        "change_under_support_guidance": "f",
        "change_requires_restart": "f",
        "description": "Overrides the default CA file"
    },
    ...
]

7 - PUT databases/:database_name/configuration

:database_name 所标识的数据库设置一个或多个配置参数。:database_nameGET databases 命令返回的 name 字段的值。

返回参数名称、请求的值和尝试的更改的结果(Success 或 Failed)。

资源 URL

https://<NODE>:5444/databases/:database_name/configuration

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有管理级别的安全性。

参数

示例请求

响应:

[
    {
        "key": "JavaBinaryForUDx",
        "result": "Success",
        "value": "/usr/bin/java"
    },
    {
        "key": "TransactionIsolationLevel",
        "result": "Success",
        "value": "SERIALIZABLE"
    }
]

8 - GET databases/:database_name/hosts

返回与 :database_name 所标识的数据库关联的每个主机的主机名/IP 地址、节点名称和 UP/DOWN 状态。:database_nameGET databases 命令返回的 name 字段的值。

资源 URL

https://<NODE>:5444/databases/:database_name/hosts

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有受限 级别或更高级别的安全性。

参数

无。

示例请求

响应:

{
    "body": [
        {
            "hostname": "10.20.100.247",
            "nodename": "v_vmart_node0001",
            "status": "UP",
            "ts": "2014-07-18T13:12:31.904191"
        },
        {
            "hostname": "10.20.100.248",
            "nodename": "v_vmart_node0002",
            "status": "UP",
            "ts": "2014-07-18T13:12:31.904209"
        },
        {
            "hostname": "10.20.100.249",
            "nodename": "v_vmart_node0003",
            "status": "UP",
            "ts": "2014-07-18T13:12:31.904215"
        }
    ],
    "href": "/databases/VMart/hosts",
    "links": [],
    "mime-type": "application/vertica.hosts.json-v2"
}

9 - POST databases/:database_name/hosts

创建一个作业,以将主机添加到 :database_name 所标识的数据库。此主机必须已属于该群集的一部分。:database_nameGET databases 命令返回的 name 字段的值。

返回一个作业 ID,它可用于确定作业的状态。请参阅GET jobs

资源 URL

https://<NODE>:5444/databases/:database_name/hosts

<<<<<<<

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有管理级别的安全性。

API 密钥必须具有管理 级别的安全性。

参数

示例请求

响应:

{
    "id": "AddHostToDatabase-testDB-2014-07-20 12:24:04.088812",
    "url": "/jobs/AddHostToDatabase-testDB-2014-07-20 12:24:04.088812"
}

10 - DELETE databases/:database_name/hosts/:host_id

创建一个作业,以从 :database_name 所标识的数据库中移除 :host_id 所标识的主机。:database_nameGET databases 命令返回的 name 字段的值。:host_idGET databases/:database_name 返回的 host 字段的值。

返回一个作业 ID,它可用于确定作业的状态。请参阅GET jobs

资源 URL

https://<NODE>:5444/databases/:database_name/hosts/:host_id

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有管理 级别的安全性。

参数

示例请求

响应:

{
    "id": "RemoveHostFromDatabase-testDB-2014-07-20 13:41:15.646235",
    "url": "/jobs/RemoveHostFromDatabase-testDB-2014-07-20 13:41:15.646235"
}

11 - POST databases/:database_name/hosts/:host_id/process

创建一个作业,以在 :host_id 所标识的主机上启动 :database_name 所标识的数据库的 Vertica 进程。:database_nameGET databases 命令返回的 name 字段的值。:host_idGET databases/:database_name 返回的 host 字段的值。

返回一个作业 ID,它可用于确定作业的状态。请参阅GET jobs

资源 URL

https://<NODE>:5444/databases/:database_name/hosts/:host_id/process

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有受限 级别或更高级别的安全性。

参数

无。

示例请求

响应:

{
    "id": "StartDatabase-testDB-2014-07-20 13:14:03.968340",
    "url": "/jobs/StartDatabase-testDB-2014-07-20 13:14:03.968340"
}

12 - GET databases/:database_name/license

返回有关 :database_name 所标识的数据库正在使用的数据库许可证的详细信息。:database_nameGET databases 命令返回的 name 字段的值。

资源 URL

https://<NODE>:5444/:database_name/license

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有受限 级别或更高级别的安全性。

参数

示例请求

响应:

{
    "body": {
        "details": {
            "assigned_to": "Vertica Systems, Inc.",
            "grace_period": 0,
            "is_ce": false,
            "is_unlimited": false,
            "name": "vertica",
            "not_after": "Perpetual",
            "not_before": "2007-08-03"
        },
        "last_audit": {
            "audit_date": "2014-07-18 13:49:22.530105-04",
            "database_size_bytes": "814060522",
            "license_size_bytes": "536870912000",
            "usage_percent": "0.00151630588248372"
        }
    },
    "href": "/databases/VMart/license",
    "links": [],
    "mime-type": "application/vertica.license.json-v2"
}

13 - GET databases/:database_name/licenses

返回有关 :database_name 所标识的数据库正在使用的所有许可证的详细信息。:database_nameGET databases 命令返回的 name 字段的值。

资源 URL

https://<NODE>:5444/:database_name/licenses

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有受限 级别或更高级别的安全性。

参数

示例请求

响应:

{
    "body": [
        {
            "details": {
                "assigned_to": "Vertica Systems, Inc.",
                "audit_date": "2014-07-19 21:35:25.111312",
                "is_ce": "False",
                "name": "vertica",
                "node_restriction": "",
                "not_after": "Perpetual",
                "not_before": "2007-08-03",
                "size": "500GB"
            },
            "last_audit": {
                "audit_date": "2014-07-19 21:35:26.318378-04",
                "database_size_bytes": "819066288",
                "license_size_bytes": "536870912000",
                "usage_percent": "0.00152562984824181"
            }
        },
        {
            "details": {
                "assigned_to": "Vertica Systems, Inc., FlexTable",
                "audit_date": "2014-07-19 21:35:25.111312",
                "is_ce": "False",
                "name": "com.vertica.flextable",
                "node_restriction": "",
                "not_after": "Perpetual",
                "not_before": "2007-08-03",
                "size": "500GB"
            },
            "last_audit": {
                "audit_date": "2014-07-19 21:35:25.111312",
                "database_size_bytes": 0,
                "license_size_bytes": 536870912000,
                "usage_percent": 0
            }
        }
    ],
    "href": "/databases/VMart/licenses",
    "links": [],
    "mime-type": "application/vertica.features.json-v2"
}

14 - DELETE databases/:database_name/hosts/:host_id/process

创建一个作业,以在 :host_id 所标识的主机上停止 :database_name 所标识的数据库的 Vertica 进程。:database_nameGET databases 命令返回的 name 字段的值。:host_idGET databases/:database_name 返回的 host 字段的值。

返回一个作业 ID,它可用于确定作业的状态。请参阅GET jobs

资源 URL

https://<NODE>:5444/databases/:database_name/hosts/:host_id/process

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有受限 级别或更高级别的安全性。

参数

无。

示例请求

响应:

{
    "id": "StopDatabase-testDB-2014-07-20 13:02:08.453547",
    "url": "/jobs/StopDatabase-testDB-2014-07-20 13:02:08.453547"
}

15 - POST databases/:database_name/hosts/:host_id/replace_with/:host_id_new

创建一个作业以替换由 hosts/:host_id 标识的主机,其中 replace_with/:host_id. Vertica performs these operations for the database identified by :database_name. The :database_name 标识的主机是 GET databases 命令返回的 name 字段的值。:host_idGET databases/:database_name 返回的 host 字段的值。可以使用 GET hosts 查找有效的替换主机。替换主机不能已属于该数据库的一部分。必须在要替换的主机上停止 Vertica 进程。

返回一个作业 ID,它可用于确定作业的状态。请参阅GET jobs

资源 URL

https://<NODE>:5444/databases/:database_name/hosts/:host_id/replace_with/:host_id_new

<<<<<<<

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有管理级别的安全性。

API 密钥必须具有管理 级别的安全性。

参数

示例请求

响应:

{
    "id": "ReplaceNode-testDB-2014-07-20 13:50:28.423509",
    "url": "/jobs/ReplaceNode-testDB-2014-07-20 13:50:28.423509"
}

16 - GET databases/:database_name/nodes

返回 :database_name 所标识的数据库的节点 ID 的逗号分隔列表。:database_nameGET databases 命令返回的 name 字段的值。

资源 URL

https://<NODE>:5444/:database_name/nodes

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有受限 级别或更高级别的安全性。

参数

无。

示例请求

响应:

[
    {
        "database_id": "VMart",
        "node_id": "v_vmart_node0001,v_vmart_node0002,v_vmart_node0003",
        "status": "Unknown"
    }
]

17 - GET databases/:database_name/nodes/:node_id

返回 :node_id 标识的节点的详细信息。:node_idGET databases/:database_name/nodes 返回的节点 ID 之一。

资源 URL

https://<NODE>:5444/:database_name/nodes/:node_id

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有受限 级别或更高级别的安全性。

参数

无。

示例请求

响应:

{
    "db": "VMart",
    "host": "10.20.100.247",
    "name": "v_vmart_node0001",
    "state": "UP"
}

18 - POST databases/:database_name/process

创建一个作业,以启动 :database_name 所标识的数据库。:database_nameGET databases 命令返回的 name 字段的值。

返回一个作业 ID,它可用于确定作业的状态。请参阅GET jobs

资源 URL

https://<NODE>:5444/databases/:database_name/process

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有受限 级别或更高级别的安全性。

参数

示例请求

使用 cURL 的完整请求的示例:

curl -d "epoch=epoch_number&include=host1,host2" -X POST -H "VerticaApiKey: ValidAPIKey" https://<NODE>:5444/:testDB/process

响应:

{
    "id": "StartDatabase-testDB-2014-07-20 12:41:46.061408",
    "url": "/jobs/StartDatabase-testDB-2014-07-20 12:41:46.061408"
}

19 - GET databases/:database_name/process

返回 :database_name 所标识的数据库的 UP 或 DOWN 状态。:database_nameGET databases 命令返回的 name 字段的值。

资源 URL

https://<NODE>:5444/databases/:database_name/process

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有受限 级别或更高级别的安全性。

参数

无。

示例请求

响应:

{
    "state": "UP"
}

20 - DELETE databases/:database_name/process

创建一个作业,以停止 :database_name 所标识的数据库。:database_nameGET databases 命令返回的 name 字段的值。

返回一个作业 ID,它可用于确定作业的状态。请参阅GET jobs

资源 URL

https://<NODE>:5444/databases/:database_name/process

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有受限 级别或更高级别的安全性。

参数

示例请求

使用 cURL 的完整请求的示例:

curl -X DELETE -H "VerticaApiKey: ValidAPIKey" https://<NODE>:5444/:testDB/process?user_id=dbadmin"&"passwd=vertica

响应:

{
    "id": "StopDatabase-testDB-2014-07-20 12:46:04.406637",
    "url": "/jobs/StopDatabase-testDB-2014-07-20 12:46:04.406637"
}

21 - POST databases/:database_name/rebalance/process

创建一个作业,以对 :database_name 所标识的数据库运行重新平衡。:database_nameGET databases 命令返回的 name 字段的值。

返回一个作业 ID,它可用于确定作业的状态。请参阅GET jobs

资源 URL

https://<NODE>:5444/databases/:database_name/rebalance/process

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有受限 级别或更高级别的安全性。

参数

示例请求

响应:

{
    "id": "RebalanceData-testDB-2014-07-20 21:42:45.731038",
    "url": "/jobs/RebalanceData-testDB-2014-07-20 21:42:45.731038"
}

22 - POST databases/:database_name/Workload analyzer/process

创建一个作业,以对 :database_name 所标识的数据库运行 Workload Analyzer。:database_nameGET databases 命令返回的 name 字段的值。

返回一个作业 ID,它可用于确定作业的状态。请参阅GET jobs

资源 URL

https://<NODE>:5444/databases/:database_name/Workload Analyzer/process

认证

请求头中需要包含 VerticaAPIKey

API 密钥必须具有受限 级别或更高级别的安全性。

参数

示例请求

响应:

{
    "id": "AnalyzeWorkLoad-testDB-2014-07-20 21:48:27.972989",
    "url": "/jobs/AnalyzeWorkLoad-testDB-2014-07-20 21:48:27.972989"
}