diff --git a/advocacy_docs/edb-postgres-ai/cloud-service/using_cluster/cli/managing_clusters.mdx b/advocacy_docs/edb-postgres-ai/cloud-service/using_cluster/cli/managing_clusters.mdx index 0fd59e5bf03..dda5253484c 100644 --- a/advocacy_docs/edb-postgres-ai/cloud-service/using_cluster/cli/managing_clusters.mdx +++ b/advocacy_docs/edb-postgres-ai/cloud-service/using_cluster/cli/managing_clusters.mdx @@ -33,7 +33,7 @@ Enable read-only workloads: No Provider: Azure Cloud Provider Subscription ID: "111,222" Service Account IDs, (leave empty to stop adding): "id1@iam.gcp" -Cluster Name: my-biganimal-cluster +Cluster Name: my-cloud-service-cluster Password: **************** PostgreSQL type: EDB Postgres Advanced Server PostgreSQL version: 14 @@ -71,7 +71,7 @@ __OUTPUT__ ├──────────────┬──────────────────────┬──────────┬──────────────┬──────────────────────────┬─────────────┬───────────────┬───────────────────────────────┬────────────────────┬────────────┤ │ ID │ Name │ Provider │ Architecture │ Status │ Region │ Instance Type │ Postgres Details │ Maintenance Window │ FAReplicas │ ├──────────────┼──────────────────────┼──────────┼──────────────┼──────────────────────────┼─────────────┼───────────────┼───────────────────────────────┼────────────────────┼────────────┤ -│ p-gxhkfww1fe │ my-biganimal-cluster │ Azure │ ha │ Cluster in healthy state │ East US │ E2s v3 │ EDB Postgres Advanced Server │ Disabled │ N/A │ +│ p-gxhkfww1fe │ my-cloud-service-cluster │ Azure │ ha │ Cluster in healthy state │ East US │ E2s v3 │ EDB Postgres Advanced Server │ Disabled │ N/A │ │ │ │ │ │ │ │ │ │ │ │ └──────────────┴──────────────────────┴──────────┴──────────────┴──────────────────────────┴─────────────┴───────────────┴───────────────────────────────┴────────────────────┴────────────┘ ``` @@ -87,16 +87,21 @@ Here's a sample configuration file in YAML format with Azure specified as the pr --- clusterArchitecture: ha # haStandbyReplicas: 2 # -provider: azure # +provider: azure # cspSubscriptionIDs: # - 123123123 # - 456456456 # serviceAccountIds: # - service-account-1234567b@development-data-123456.iam.gserviceaccount.com# - service-account-1234567b@development-data-123456.iam.gserviceaccount.com# -clusterName: biganimal_cluster # +clusterName: cloud_service_cluster # password: ************ # -# refer following link for steps to setup IAM: https://www.enterprisedb.com/docs/biganimal/latest/using_cluster/01_postgres_access/iam-authentication-for-postgres +tags: # + - name: tag1 # + color: "#c5eae7" # + - name: tag2 # + color: "#0b6ff4" # +# refer following link for steps to setup IAM: https://www.enterprisedb.com/docs/edb-postgres-ai/cloud-service/using_cluster/postgres_access/database_authentication/#iam-authentication-for-postgres iamAuthentication: true # postgresType: epas # postgresVersion: 14 # @@ -104,7 +109,7 @@ region: eastus # volumeType: azurepremiumstorage # volumeProperties: P1 # -volumePropertySize: 4Gi # +volumePropertySize: 32Gi # volumePropertyIOPS: 1000 # : Not Applicable to Azure Premium Storage and GCP:[pd-ssd], volume Input/Output Operations Per Second> networking: public # allowIpRangeMap: # @@ -117,9 +122,21 @@ pgConfigMap: # array_nulls: true # backupRetentionPeriod: 30d # -superuserAccess: true # -pgvector: true # -postgis: true # +customMaintenanceWindow: # + isEnabled: true # + maintenanceStartDay: Monday # + maintenanceStartTime: 02:00 # +superuserAccess: true # +pgvector: true # +postgis: true # +pgBouncer: true # +pgBouncerRWSettings: # + application_name_add_host: true # + max_client_conn: 100 # +pgBouncerROSettings: # + idle_transaction_timeout: 20 # + log_stats: true # + --- ``` !!! Note @@ -162,7 +179,7 @@ To use your Cloud Service cluster, you first need to get your cluster's connecti ```shell biganimal cluster show-connection \ - --name "my-biganimal-cluster" \ + --name "my-cloud-service-cluster" \ --provider "azure" \ --region "eastus" __OUTPUT__ @@ -181,7 +198,7 @@ You can query the complete connection information with other output formats, lik ```shell biganimal cluster show-connection \ - --name "my-biganimal-cluster" \ + --name "my-cloud-service-cluster" \ --provider "azure" \ --region "eastus" \ --output "json" @@ -207,11 +224,12 @@ After the cluster is created, you can update attributes of the cluster, includin - IAM authentication - Cloud service provider subscription IDs - Service account IDs +- Tags For example, to set the public allowed IP range list, use the `--cidr-blocks` flag: ```shell -./biganimal cluster update --name "my-biganimal-cluster" --provider "azure" \ +./biganimal cluster update --name "my-cloud-service-cluster" --provider "azure" \ --region "eastus" \ --cidr-blocks "9.9.9.9/28=Traffic from App A" ``` @@ -219,7 +237,7 @@ For example, to set the public allowed IP range list, use the `--cidr-blocks` fl To check whether the setting took effect, use the `cluster show` command, and view the detailed cluster information output in JSON format. For example: ```shell -biganimal cluster show --name "my-biganimal-cluster" --provider "azure" \ +biganimal cluster show --name "my-cloud-service-cluster" --provider "azure" \ --region "eastus" \ --output "json" \ | jq '.[0].allowIpRangeMap' @@ -255,7 +273,7 @@ To delete a cluster you no longer need, use the `cluster delete` command. For ex ```shell biganimal cluster delete \ - --name "my-biganimal-cluster" \ + --name "my-cloud-service-cluster" \ --provider "azure" \ --region "eastus" ``` @@ -268,11 +286,11 @@ Cloud Service continuously backs up your PostgreSQL clusters. Using the CLI, you ```shell biganimal cluster restore\ - --name "my-biganimal-cluster" \ + --name "my-cloud-service-cluster" \ --provider "azure" \ --region "eastus" \ --password "mypassword@123" \ - --new-name "my-biganimal-cluster-restored" \ + --new-name "my-cloud-service-cluster-restored" \ --new-region="eastus2" \ --cluster-architecture "single" \ --instance-type "azure:Standard_E2s_v3" \ @@ -284,6 +302,7 @@ biganimal cluster restore\ --backup-retention-period "2w" \ --postgis=true --pgvector=true + --tags "tag1, tag2=blue" --read-only-workloads: "true" --csp-subscription-ids "123123123,456456456" --service-account-ids "service-account-1234567b@development-data-123456.iam.gserviceaccount.com, @@ -411,66 +430,86 @@ Where `` is a valid path to a YAML configuration file. #### Azure example ``` -clusterName: biganimal-azure-pgd-cluster -password: Meredith Palmer Memorial -postgresType: epas -postgresVersion: "14" -provider: azure -dataNodes: 2 -dataGroups: - - iamAuthentication: false - region: westus2 - instanceType: azure:Standard_E2s_v3 - volumeType: azurepremiumstorage - volumeProperties: P2 - customMaintenanceWindow: - maintenanceStartTime: 18:00 - maintenanceStartDay: wednesday - networking: public - allowIpRangeMap: - - cidr: 9.9.9.9/28 - description: Allow traffic from App A - - cidr: 10.10.10.10/27 - description: Allow traffic from App B - pgConfigMap: - application_name: test - array_nulls: true - backupRetentionPeriod: 30d - - iamAuthentication: false - region: canadacentral - instanceType: azure:Standard_E2s_v3 - volumeType: azurepremiumstorage - volumeProperties: P2 - customMaintenanceWindow: - maintenanceStartTime: 18:00 - maintenanceStartDay: tuesday - networking: public - allowIpRangeMap: - - cidr: 9.9.9.9/28 - description: Allow traffic from App A - - cidr: 10.10.10.10/27 - description: Allow traffic from App B - pgConfigMap: - application_name: test1 - array_nulls: true - backupRetentionPeriod: 30d -witnessGroups: - - provider: azure - region: uksouth - customMaintenanceWindow: - maintenanceStartTime: 18:00 - maintenanceStartDay: monday +clusterName: cloud_service_cluster # +password: ************ # +postgresType: epas # (only epas is supported in pgd preview) +postgresVersion: 14 # +provider: azure # +dataNodes: 3 # +tags: # + - name: tag1 # + color: blue # + - name: tag2 # + color: "#FF0000" # +dataGroups: # + region: westus2 # + instanceType: azure:Standard_E2s_v3 # + volumeType: azurepremiumstorage # + volumeProperties: P1 # + volumePropertySize: 32Gi # + volumePropertyIOPS: 1000 # : Not Applicable to Azure Premium Storage and GCP:[pd-ssd], volume Input/Output Operations Per Second> + customMaintenanceWindow: # + maintenanceStartTime: 15:00 # + maintenanceStartDay: Monday # + networking: public # + allowIpRangeMap: # + - cidr: 9.9.9.9/28 # + description: Allow traffic from App A # + - cidr: 10.10.10.10/27 # + description: Allow traffic from App B # + pgConfigMap: # + application_name: test_app # + array_nulls: true # + backupRetentionPeriod: 30d # + - iamAuthentication: false # + region: canadacentral # + instanceType: azure:Standard_E2s_v3 # + volumeType: azurepremiumstorage # + volumeProperties: P1 # + volumePropertySize: 32Gi # + volumePropertyIOPS: 1000 # : Not Applicable to Azure Premium Storage and GCP:[pd-ssd], volume Input/Output Operations Per Second> + customMaintenanceWindow: # + maintenanceStartTime: 17:00 # + maintenanceStartDay: tuesday # + networking: public # + allowIpRangeMap: # + - cidr: 9.9.9.9/28 # + description: Allow traffic from App A # + - cidr: 10.10.10.10/27 # + description: Allow traffic from App B # + pgConfigMap: # + application_name: test_app # + array_nulls: true # + backupRetentionPeriod: 30d # +# cspSubscriptionIds: # +# - 123123123 # +# - 456456456 # +# serviceAccountIds: # +# - service-account-1234567b@development-data-123456.iam.gserviceaccount.com# +# - service-account-1234567b@development-data-123456.iam.gserviceaccount.com# +witnessGroups: # + region: uksouth # + customMaintenanceWindow: # + maintenanceStartTime: 18:00 # + maintenanceStartDay: Monday # ``` #### AWS example ``` -clusterName: biganimal-aws-pgd-cluster # +clusterName: cloud-service-aws-pgd-cluster # password: Meredith Palmer Memorial # postgresType: pgextended # (only epas is supported in pgd preview) postgresVersion: 16 # provider: aws # dataNodes: 2 # +tags: # + - name: tag1 # + color: blue # + - name: tag2 # + color: "#FF0000" # dataGroups: # region: ap-south-1 # @@ -481,7 +520,7 @@ dataGroups: # : Not Applicable to Azure Premium Storage and GCP:[pd-ssd], volume Input/Output Operations Per Second> customMaintenanceWindow: # maintenanceStartTime: 15:00 # - maintenanceStartDay: monday # + maintenanceStartDay: Monday # networking: public # allowIpRangeMap: # - cidr: 9.9.9.9/28 # @@ -502,7 +541,7 @@ dataGroups: # : Not Applicable to Azure Premium Storage and GCP:[pd-ssd], volume Input/Output Operations Per Second> customMaintenanceWindow: # maintenanceStartTime: 17:00 # - maintenanceStartDay: tuesday # + maintenanceStartDay: tuesday # networking: public # allowIpRangeMap: # - cidr: 9.9.9.9/28 # @@ -525,18 +564,23 @@ witnessGroups: # customMaintenanceWindow: # maintenanceStartTime: 18:00 # - maintenanceStartDay: monday # + maintenanceStartDay: Monday # ``` #### Google Cloud example ``` -clusterName: biganimal-gcp-pgd-cluster # +clusterName: cloud-service-gcp-pgd-cluster # password: Meredith Palmer Memorial # postgresType: epas # (only epas is supported in pgd preview) postgresVersion: 16 # provider: gcp # dataNodes: 3 # +tags: # + - name: tag1 # + color: blue # + - name: tag2 # + color: "#FF0000" # dataGroups: # region: europe-west1 # @@ -547,7 +591,7 @@ dataGroups: # : Not Applicable to Azure Premium Storage and GCP:[pd-ssd], volume Input/Output Operations Per Second> customMaintenanceWindow: # maintenanceStartTime: 15:00 # - maintenanceStartDay: monday # + maintenanceStartDay: Monday # networking: public # allowIpRangeMap: # - cidr: 9.9.9.9/28 # @@ -568,7 +612,7 @@ dataGroups: # : Not Applicable to Azure Premium Storage and GCP:[pd-ssd], volume Input/Output Operations Per Second> customMaintenanceWindow: # maintenanceStartTime: 18:00 # - maintenanceStartDay: monday # + maintenanceStartDay: Monday # networking: public # allowIpRangeMap: # - cidr: 9.9.9.9/28 # @@ -587,11 +631,11 @@ dataGroups: # witnessGroups: # + - provider: azure # region: australiaeast # customMaintenanceWindow: # maintenanceStartTime: 21:00 # - maintenanceStartDay: monday # + maintenanceStartDay: Monday # ``` ### Add a data group @@ -617,7 +661,7 @@ dataGroups: volumeProperties: P2 customMaintenanceWindow: maintenanceStartTime: 18:00 - maintenanceStartDay: monday + maintenanceStartDay: Monday networking: public allowIpRangeMap: - cidr: 9.9.9.9/28 @@ -646,7 +690,51 @@ The syntax of the command is: pgd update [--config-file] ``` -Where `` is a valid path to a YAML configuration file with the same format as a configuration file for creating a distributed high-availability cluster. See [Create a distributed high-availability cluster](#create-a-distributed-high-availability-cluster). +Where `` is a valid path to a YAML configuration file. For updating a distributed high-availability cluster, clusterId and groupId are mandatory fields. All other fields are optional removing/unspecified optional fields means no change is intended for them. See the sample config file below to update a distributed high-availability cluster. + +``` +clusterId: p-***** # +clusterName: cloud_service_cluster # +password: ************ # +tags: # + - name: tag1 # + color: blue # + - name: tag2 # + color: "#FF0000" # +dataNodes: 3 # +dataGroups: # + iamAuthentication: false # + instanceType: azure:Standard_E2s_v3 # + volumeType: azurepremiumstorage # + volumeProperties: P1 # + volumePropertySize: 32Gi # + volumePropertyIOPS: 1000 # : Not Applicable to Azure Premium Storage and GCP:[pd-ssd], volume Input/Output Operations Per Second> + customMaintenanceWindow: # + maintenanceStartTime: 15:00 # + maintenanceStartDay: Monday # + networking: public # + allowIpRangeMap: # + - cidr: 9.9.9.9/28 # + description: Allow traffic from App A # + - cidr: 10.10.10.10/27 # + description: Allow traffic from App B # + pgConfigMap: # + application_name: test_app # + array_nulls: true # + backupRetentionPeriod: 30d # +# cspSubscriptionIds: # +# - 123123123 # +# - 456456456 # +# serviceAccountIds: # +# - service-account-1234567b@development-data-123456.iam.gserviceaccount.com# +# - service-account-1234567b@development-data-123456.iam.gserviceaccount.com# +witnessGroups: # + customMaintenanceWindow: # + maintenanceStartTime: 18:00 # + maintenanceStartDay: Monday # +``` ### Show distributed high-availability clusters @@ -670,27 +758,41 @@ pgd restore [--config-file] Where `` is a valid path to a YAML configuration file. For example: +You can either restore an active or a deleted distributed high-availability cluster within its retention period. You can restore only 1 data group from the available data groups in the source cluster. By default the new cluster will inherit all settings of source cluster, you can change the cluster setting and database configurations by specifying new values in the restore command. + +To restore a distributed high-availability cluster, clusterId, sourceGroupId and password are mandatory fields. All other fields are optional. Removing the optional fields will use the corresponding source group field instead. + ``` -clusterName: pgd-restore-name -password: Meredith Palmer Memorial -dataNodes: 2 -clusterId: p-9fdkl5ju29 -dataGroups: - - iamAuthentication: false - region: uksouth - instanceType: azure:Standard_E2s_v3 - volumeType: azurepremiumstorage - volumeProperties: P2 - allowIpRangeMap: - - cidr: 9.9.9.9/28 - description: Allow traffic from App A - - cidr: 10.10.10.10/27 - description: Allow traffic from App B - pgConfigMap: - application_name: test - array_nulls: true - backupRetentionPeriod: 30d - sourceGroupId: p-9fdkl5ju29-a +clusterName: cloud_service_cluster # +password: ************ # +dataNodes: 3 # +clusterId: p-***** # +tags: # + - name: tag1 # + color: blue # + - name: tag2 # + color: "#FF0000" # +dataGroups: # + iamAuthentication: false # + region: westus2 # + instanceType: azure:Standard_E2s_v3 # + volumeType: azurepremiumstorage # + volumeProperties: P1 # + volumePropertySize: 32Gi # + volumePropertyIOPS: 1000 # : Not Applicable to Azure Premium Storage and GCP:[pd-ssd], volume Input/Output Operations Per Second> + customMaintenanceWindow: # + maintenanceStartTime: 15:00 # + maintenanceStartDay: Monday # + allowIpRangeMap: # + - cidr: 9.9.9.9/28 # + description: Allow traffic from App A # + - cidr: 10.10.10.10/27 # + description: Allow traffic from App B # + pgConfigMap: # + application_name: test_app # + array_nulls: true # + backupRetentionPeriod: 30d # ``` ### Get distributed high-availability cluster connection information @@ -749,4 +851,110 @@ For example: ``` biganimal pgd resume --id p-c5fh47nf +``` + +## Creating and Managing tags + +Tagging is a powerful way to organize, manage, and track your resources and clusters, especially in large-scale environments. Here's how you can effectively manage tags for grouping your clusters and other resources: + +Here are the available commands for creating and managing tags: + +``` +biganimal tag -h +Manage tags for grouping your clusters and other resources. + +Usage: + biganimal tag [flags] + biganimal tag [command] + +Available Commands: + create Create a tag + update Update a tag with specified ID. + delete Delete a tag + show Show all available tags + +Flags: + -h, --help help for tag +``` + +Here are the options with tag create command: + +``` +biganimal tag create -h +Create a tag with specified name and color. + +Usage: + biganimal tag create [flags] + +Examples: +biganimal tag create --name my-cyan-tag --color "#30f8ef" +tag create --name my-red-tag --color red + +Flags: + -n, --name string Tag Name + -r, --color string Tag color hex code or name (e.g. #FF0000 or red) + -y, --yes auto-confirm all confirmations + -c, --credential string The credential which you created via 'credential create' command, the default is fetched from 'context_credential' + -P, --project string The project that groups your clusters and other resources, the default is taken from 'context_project' (default "DummyProject") + -I, --interactive[=NoOpt] Execute command interactively + -h, --help help for create +``` + +Here are the options with the tag update command: + +``` +biganimal tag update -h +Update a tag color, name for specified tag ID. + +Usage: + biganimal tag update [flags] + +Examples: +biganimal tag update --id "" --name "" --color "" + +Flags: + -i, --id string Tag ID + -n, --name string Updated Tag Name + -r, --color string Updated Tag color hex code or name (e.g. #FF0000 or red) + -y, --yes auto-confirm all confirmations + -c, --credential string The credential which you created via 'credential create' command, the default is fetched from 'context_credential' + -P, --project string The project that groups your clusters and other resources, the default is taken from 'context_project' (default "DummyProject") + -I, --interactive[=NoOpt] Execute command interactively + -h, --help help for update +``` + +Here are the options with the tag show command: + +``` +Usage: + biganimal tag show [flags] + +Examples: +biganimal tags show + +Flags: + -c, --credential string The credential which you created via 'credential create' command, the default is fetched from 'context_credential' + -h, --help help for show + -i, --id string Tag ID + -o, --output string [table json yaml xml] (default "table") +``` + +Here are the options with the tag delete command: + +``` +Delete a tag with specified ID. + +Usage: + biganimal tag delete [flags] + +Examples: +biganimal tag delete --id "TagID_123" + +Flags: + -i, --id string Tag ID + -y, --yes auto-confirm all confirmations + -c, --credential string The credential which you created via 'credential create' command, the default is fetched from 'context_credential' + -P, --project string The project that groups your clusters and other resources, the default is taken from 'context_project' (default "DummyProject") + -I, --interactive[=NoOpt] Execute command interactively + -h, --help help for delete ``` \ No newline at end of file diff --git a/advocacy_docs/edb-postgres-ai/cloud-service/using_cluster/cli/using_features.mdx b/advocacy_docs/edb-postgres-ai/cloud-service/using_cluster/cli/using_features.mdx index 63534e42efe..0189dc40807 100644 --- a/advocacy_docs/edb-postgres-ai/cloud-service/using_cluster/cli/using_features.mdx +++ b/advocacy_docs/edb-postgres-ai/cloud-service/using_cluster/cli/using_features.mdx @@ -3,6 +3,8 @@ title: Using Cloud Service features with the CLI navTitle: Using Cloud Service features redirects: - /biganimal/latest/reference/cli/using_features/ #generated for BigAnimal URL path removal branch +indexdepth: 3 +deepToC: true --- ## Faraway replicas CLI commands diff --git a/product_docs/docs/pgd/5.6/planning/choosing_server.mdx b/product_docs/docs/pgd/5.6/planning/choosing_server.mdx index 807d5248506..77fd46b098f 100644 --- a/product_docs/docs/pgd/5.6/planning/choosing_server.mdx +++ b/product_docs/docs/pgd/5.6/planning/choosing_server.mdx @@ -16,7 +16,7 @@ The following table lists features of EDB Postgres Distributed that are dependen | [Granular DDL Locking](/pgd/latest/ddl/ddl-locking/) | Y | Y | Y | | [Streaming of large transactions](/pgd/latest/transaction-streaming/) | v14+ | v13+ | v14+ | | [Distributed sequences](/pgd/latest/sequences/#pgd-global-sequences) | Y | Y | Y | -| [Subscribe-only nodes](/pgd/latest/nodes/subscriber_only/) | Y | Y | Y | +| [Subscriber-only nodes](/pgd/latest/nodes/subscriber_only/) | Y | Y | Y | | [Monitoring](/pgd/latest/monitoring/) | Y | Y | Y | | [OpenTelemetry support](/pgd/latest/monitoring/otel/) | Y | Y | Y | | [Parallel apply](/pgd/latest/parallelapply) | Y | Y | Y |