Skip to content

Commit f8b43a8

Browse files
authored
Merge pull request #217626 from MicrosoftDocs/release-arc-data
Publish November 2022 release
2 parents 1037546 + edb0608 commit f8b43a8

File tree

7 files changed

+94
-191
lines changed

7 files changed

+94
-191
lines changed

articles/azure-arc/data/backup-restore-postgresql.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ ms.topic: how-to
1313

1414
# Back up and restore Azure Arc-enabled PostgreSQL servers
1515

16-
Backup and restore of Azure Arc-enabled PostgreSQL server is not supported in the current preview release.
16+
Automated backups can be enabled by including the `--storage-class-backups` argument when creating an Azure Arc-enabled PostgreSQL server. Restore is not supported in the current preview release.
1717

1818
- Read about [scaling up or down (increasing/decreasing memory/vcores)](scale-up-down-postgresql-server-using-cli.md) your server.

articles/azure-arc/data/create-postgresql-server.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ The main parameters should consider are:
5555
- **the name of the server** you want to deploy. Indicate either `--name` or `-n` followed by a name whose length must not exceed 11 characters.
5656

5757
- **The storage classes** you want your server to use. It is important you set the storage class right at the time you deploy a server as this setting cannot be changed after you deploy. You may specify the storage classes to use for the data, logs and the backups. By default, if you do not indicate storage classes, the storage classes of the data controller will be used.
58-
- To set the storage class for the data, indicate the parameter `--storage-class-data` or `-scd` followed by the name of the storage class.
59-
- To set the storage class for the logs, indicate the parameter `--storage-class-logs` or `-scl` followed by the name of the storage class.
60-
- The support of setting storage classes for the backups has been temporarily removed as we temporarily removed the backup/restore functionalities as we finalize designs and experiences.
58+
- To set the storage class for the backups, indicate the parameter `--storage-class-backups` followed by the name of the storage class. Excluding this parameter disables automated backups
59+
- To set the storage class for the data, indicate the parameter `--storage-class-data` followed by the name of the storage class.
60+
- To set the storage class for the logs, indicate the parameter `--storage-class-logs` followed by the name of the storage class.
6161

6262
> [!IMPORTANT]
6363
> If you need to change the storage class after deployment, extract the data, delete your server, create a new server, and import the data.

articles/azure-arc/data/includes/azure-arc-data-preview-release.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ ms.date: 08/02/2022
77
---
88

99

10-
The current preview release published on November 1, 2022.
10+
At this time, a test or preview build is not available for the next release.
11+
12+
<!---
1113
1214
|Component|Value|
1315
|-----------|-----------|
@@ -25,12 +27,12 @@ New for this release:
2527
- Azure Arc data controller
2628
- Support database as resource in Azure Arc data resource provider
2729
28-
<!--
2930
- Arc-enabled SQL managed instance
30-
-->
31+
3132
3233
- Arc-enabled PostgreSQL server
3334
- Add support for automated backups
3435
3536
- `arcdata` Azure CLI extension
3637
- CLI support for automated backups: Setting the `--storage-class-backups` parameter for the create command will enable automated backups
38+
-->

articles/azure-arc/data/limitations-postgresql.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ This article describes limitations of Azure Arc-enabled PostgreSQL.
1717

1818
[!INCLUDE [azure-arc-data-preview](../../../includes/azure-arc-data-preview.md)]
1919

20-
## Back up and restore
20+
## Backup and restore
2121

22-
Back up and restore have been temporarily removed as we finalize designs and experiences.
22+
Enable automated backups. Include the `--storage-class-backups` argument when you create an Azure Arc-enabled PostgreSQL server. Restore has been temporarily removed as we finalize designs and experiences.
2323

2424
## High availability
2525

articles/azure-arc/data/release-notes.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Azure Arc-enabled data services - Release notes
3-
description: Latest release notes
3+
description: This article provides highlights for the latest release, and a history of features introduced in previous releases.
44
author: twright-msft
55
ms.author: twright
66
ms.reviewer: mikeray
@@ -12,10 +12,30 @@ ms.topic: conceptual
1212
ms.custom: references_regions, devx-track-azurecli, event-tier1-build-2022
1313
#Customer intent: As a data professional, I want to understand why my solutions would benefit from running with Azure Arc-enabled data services so that I can leverage the capability of the feature.
1414
---
15+
1516
# Release notes - Azure Arc-enabled data services
1617

1718
This article highlights capabilities, features, and enhancements recently released or improved for Azure Arc-enabled data services.
1819

20+
## November 8, 2022
21+
22+
### Image tag
23+
24+
`v1.13.0_2022-11-08`
25+
26+
For complete release version information, see [Version log](version-log.md#november-8-2022).
27+
28+
New for this release:
29+
30+
- Azure Arc data controller
31+
- Support database as resource in Azure Arc data resource provider
32+
33+
- Arc-enabled PostgreSQL server
34+
- Add support for automated backups
35+
36+
- `arcdata` Azure CLI extension
37+
- CLI support for automated backups: Setting the `--storage-class-backups` parameter for the create command will enable automated backups
38+
1939
## October 11, 2022
2040

2141
### Image tag

articles/azure-arc/data/using-extensions-in-postgresql-server.md

Lines changed: 50 additions & 181 deletions
Original file line numberDiff line numberDiff line change
@@ -14,210 +14,79 @@ ms.topic: how-to
1414

1515
# Use PostgreSQL extensions in your Azure Arc-enabled PostgreSQL server
1616

17-
PostgreSQL is at its best when you use it with extensions. In fact, a key element of our own Hyperscale functionality is the Microsoft-provided `citus` extension that is installed by default, which allows Postgres to transparently shard data across multiple nodes.
17+
PostgreSQL is at its best when you use it with extensions.
1818

1919
[!INCLUDE [azure-arc-data-preview](../../../includes/azure-arc-data-preview.md)]
2020

2121
## Supported extensions
22-
The standard [`contrib`](https://www.postgresql.org/docs/12/contrib.html) extensions and the following extensions are already deployed in the containers of your Azure Arc-enabled PostgreSQL server:
23-
- [`citus`](https://github.com/citusdata/citus), v: 10.2. The Citus extension by [Citus Data](https://www.citusdata.com/) is loaded by default as it brings the Hyperscale capability to the PostgreSQL engine. Dropping the Citus extension from your Azure Arc PostgreSQL server is not supported.
24-
- [`pg_cron`](https://github.com/citusdata/pg_cron), v: 1.3
25-
- [`pgaudit`](https://www.pgaudit.org/), v: 1.4
26-
- plpgsql, v: 1.0
27-
- [`postgis`](https://postgis.net), v: 3.0.2
28-
- [`plv8`](https://plv8.github.io/), v: 2.3.14
29-
- [`pg_partman`](https://github.com/pgpartman/pg_partman), v: 4.4.1/
30-
- [`tdigest`](https://github.com/tvondra/tdigest), v: 1.0.1
22+
For this preview, the following standard [`contrib`](https://www.postgresql.org/docs/14/contrib.html) extensions are already deployed in the containers of your Azure Arc-enabled PostgreSQL server:
23+
- adminpack
24+
- amcheck
25+
- autoinc
26+
- bloombtree_gin
27+
- btree_gist
28+
- citext
29+
- cube
30+
- dblink
31+
- dict_int
32+
- dict_xsyn
33+
- earthdistance
34+
- file_fdw
35+
- fuzzystrmatch
36+
- hstore
37+
- insert_username
38+
- intagg
39+
- intarray
40+
- isn
41+
- lo
42+
- ltree
43+
- moddatetime
44+
- old_snapshot
45+
- pageinspect
46+
- pg_buffercache
47+
- pg_freespacemap
48+
- pg_prewarm
49+
- pg_stat_statements
50+
- pg_surgery
51+
- pg_trgm
52+
- pg_visibility
53+
- pgcrypto
54+
- pgrowlocks
55+
- pgstattuple
56+
- postgres_fdw
57+
- refint
58+
- seg
59+
- sslinfo
60+
- tablefunc
61+
- tcn
62+
- tsm_system_rows
63+
- tsm_system_time
64+
- unaccent
65+
- xml2
3166

3267
Updates to this list will be posted as it evolves over time.
3368

3469
> [!IMPORTANT]
35-
> While you may bring to your server group an extension other than those listed above, in this Preview, it will not be persisted to your system. It means that it will not be available after a restart of the system and you would need to bring it again.
36-
37-
This guide will take in a scenario to use two of these extensions:
38-
- [`PostGIS`](https://postgis.net/)
39-
- [`pg_cron`](https://github.com/citusdata/pg_cron)
40-
41-
## Which extensions need to be added to the shared_preload_libraries and created?
42-
43-
|Extensions |Requires to be added to shared_preload_libraries |Requires to be created |
44-
|-------------|--------------------------------------------------|---------------------- |
45-
|`pg_cron` |No |Yes |
46-
|`pg_audit` |Yes |Yes |
47-
|`plpgsql` |Yes |Yes |
48-
|`postgis` |No |Yes |
49-
|`plv8` |No |Yes |
50-
51-
## Add extensions to the `shared_preload_libraries`
52-
For details about that are `shared_preload_libraries`, read the PostgreSQL documentation [here](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-SHARED-PRELOAD-LIBRARIES):
53-
- This step isn't needed for the extensions that are part of `contrib`
54-
- this step isn't required for extensions that are not required to pre-load by shared_preload_libraries. For these extensions you may jump the next paragraph [Create extensions](#create-extensions).
55-
56-
### Add an extension to an instance that already exists
57-
```azurecli
58-
az postgres server-arc server edit -n <postgresql server> --extensions <extension names> --k8s-namespace <namespace> --use-k8s
59-
```
60-
61-
## Show the list of extensions added to shared_preload_libraries
62-
Run either of the following command.
63-
64-
### With CLI command
65-
```azurecli
66-
az postgres server-arc show -n <server name> --k8s-namespace <namespace> --use-k8s
67-
```
68-
Scroll in the output and notice the engine\extensions sections in the specifications of your server group. For example:
69-
```console
70-
"spec": {
71-
"dev": false,
72-
"engine": {
73-
"extensions": [
74-
{
75-
"name": "citus"
76-
}
77-
],
78-
```
79-
### With kubectl
80-
```console
81-
kubectl describe postgresqls/<server name> -n <namespace>
82-
```
83-
Scroll in the output and notice the engine\extensions sections in the specifications of your server group. For example:
84-
```console
85-
Spec:
86-
Dev: false
87-
Engine:
88-
Extensions:
89-
Name: citus
90-
```
70+
> While you may bring to your server an extension other than those listed above, in this Preview, it will not be persisted to your system. It means that it will not be available after a restart of the system and you would need to bring it again.
9171
9272

9373
## Create extensions
94-
Connect to your server group with the client tool of your choice and run the standard PostgreSQL query:
74+
Connect to your server with the client tool of your choice and run the standard PostgreSQL query:
9575
```console
9676
CREATE EXTENSION <extension name>;
9777
```
9878

9979
## Show the list of extensions created
100-
Connect to your server group with the client tool of your choice and run the standard PostgreSQL query:
80+
Connect to your server with the client tool of your choice and run the standard PostgreSQL query:
10181
```console
10282
select * from pg_extension;
10383
```
10484

10585
## Drop an extension
106-
Connect to your server group with the client tool of your choice and run the standard PostgreSQL query:
86+
Connect to your server with the client tool of your choice and run the standard PostgreSQL query:
10787
```console
10888
drop extension <extension name>;
10989
```
11090

111-
## The `PostGIS` extension
112-
You do not need to add the `PostGIS` extension to the `shared_preload_libraries`.
113-
Get [sample data](http://duspviz.mit.edu/tutorials/intro-postgis/) from the MIT’s Department of Urban Studies & Planning. Run `apt-get install unzip` to install unzip as needed.
114-
115-
```console
116-
wget http://duspviz.mit.edu/_assets/data/intro-postgis-datasets.zip
117-
unzip intro-postgis-datasets.zip
118-
```
119-
120-
Let's connect to our database, and create the `PostGIS` extension:
121-
122-
```console
123-
CREATE EXTENSION postgis;
124-
```
125-
126-
> [!NOTE]
127-
> If you would like to use one of the extensions in the `postgis` package (for example `postgis_raster`, `postgis_topology`, `postgis_sfcgal`, `fuzzystrmatch`...) you need to first create the postgis extension and then create the other extension. For instance: `CREATE EXTENSION postgis`; `CREATE EXTENSION postgis_raster`;
128-
129-
And create the schema:
130-
131-
```sql
132-
CREATE TABLE coffee_shops (
133-
id serial NOT NULL,
134-
name character varying(50),
135-
address character varying(50),
136-
city character varying(50),
137-
state character varying(50),
138-
zip character varying(10),
139-
lat numeric,
140-
lon numeric,
141-
geom geometry(POINT,4326)
142-
);
143-
CREATE INDEX coffee_shops_gist ON coffee_shops USING gist (geom);
144-
```
145-
146-
Now, we can combine `PostGIS` with the scale-out functionality, by making the coffee_shops table distributed:
147-
148-
```sql
149-
SELECT create_distributed_table('coffee_shops', 'id');
150-
```
151-
152-
Let's load some data:
153-
154-
```console
155-
\copy coffee_shops(id,name,address,city,state,zip,lat,lon) from cambridge_coffee_shops.csv CSV HEADER;
156-
```
157-
158-
And fill the `geom` field with the correctly encoded latitude and longitude in the `PostGIS` `geometry` data type:
159-
160-
```sql
161-
UPDATE coffee_shops SET geom = ST_SetSRID(ST_MakePoint(lon,lat),4326);
162-
```
163-
164-
Now we can list the coffee shops closest to MIT (77 Massachusetts Ave at 42.359055, -71.093500):
165-
166-
```sql
167-
SELECT name, address FROM coffee_shops ORDER BY geom <-> ST_SetSRID(ST_MakePoint(-71.093500,42.359055),4326);
168-
```
169-
170-
171-
## The `pg_cron` extension
172-
173-
Now, let's enable `pg_cron` on our PostgreSQL server group by adding it to the shared_preload_libraries:
174-
175-
```azurecli
176-
az postgres server-arc update -n pg2 -ns arc --extensions pg_cron
177-
```
178-
179-
Your server group will restart complete the installation of the extensions. It may take 2 to 3 minutes.
180-
181-
We can now connect again, and create the `pg_cron` extension:
182-
183-
```sql
184-
CREATE EXTENSION pg_cron;
185-
```
186-
187-
For test purposes, lets make a table `the_best_coffee_shop` that takes a random name from our earlier `coffee_shops` table, and inserts the table contents:
188-
189-
```sql
190-
CREATE TABLE the_best_coffee_shop(name text);
191-
```
192-
193-
We can use `cron.schedule` plus a few SQL statements, to get a random table name (notice the use of a temporary table to store a distributed query result), and store it in `the_best_coffee_shop`:
194-
195-
```sql
196-
SELECT cron.schedule('* * * * *', $$
197-
TRUNCATE the_best_coffee_shop;
198-
CREATE TEMPORARY TABLE tmp AS SELECT name FROM coffee_shops ORDER BY random() LIMIT 1;
199-
INSERT INTO the_best_coffee_shop SELECT * FROM tmp;
200-
DROP TABLE tmp;
201-
$$);
202-
```
203-
204-
And now, once a minute, we'll get a different name:
205-
206-
```sql
207-
SELECT * FROM the_best_coffee_shop;
208-
```
209-
210-
```console
211-
name
212-
-----------------
213-
B & B Snack Bar
214-
(1 row)
215-
```
216-
217-
See the [pg_cron README](https://github.com/citusdata/pg_cron) for full details on the syntax.
218-
219-
22091
## Next steps
221-
- Read documentation on [`plv8`](https://plv8.github.io/)
222-
- Read documentation on [`PostGIS`](https://postgis.net/)
223-
- Read documentation on [`pg_cron`](https://github.com/citusdata/pg_cron)
92+
- **Try it out.** Get started quickly with [Azure Arc Jumpstart](https://github.com/microsoft/azure_arc#azure-arc-enabled-data-services) on Azure Kubernetes Service (AKS), AWS Elastic Kubernetes Service (EKS), Google Cloud Kubernetes Engine (GKE) or in an Azure VM.

articles/azure-arc/data/version-log.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,18 @@ ms.topic: conceptual
1717

1818
This article identifies the component versions with each release of Azure Arc-enabled data services.
1919

20+
## November 8, 2022
21+
22+
23+
|Component|Value|
24+
|-----------|-----------|
25+
|Container images tag |`v1.13.0_2022-11-08`|
26+
|CRD names and version|`datacontrollers.arcdata.microsoft.com`: v1beta1, v1 through v6<br/>`exporttasks.tasks.arcdata.microsoft.com`: v1beta1, v1, v2<br/>`kafkas.arcdata.microsoft.com`: v1beta1, v1beta2<br/>`monitors.arcdata.microsoft.com`: v1beta1, v1, v2<br/>`sqlmanagedinstances.sql.arcdata.microsoft.com`: v1beta1, v1 through v7<br/>`postgresqls.arcdata.microsoft.com`: v1beta1, v1beta2, v1beta3<br/>`sqlmanagedinstancerestoretasks.tasks.sql.arcdata.microsoft.com`: v1beta1, v1<br/>`failovergroups.sql.arcdata.microsoft.com`: v1beta1, v1beta2, v1 through v2<br/>`activedirectoryconnectors.arcdata.microsoft.com`: v1beta1, v1beta2, v1<br/>`sqlmanagedinstancereprovisionreplicatask.tasks.sql.arcdata.microsoft.com`: v1beta1<br/>`telemetrycollectors.arcdata.microsoft.com`: v1beta1, v1beta2, v1beta3 *use to be otelcollectors*<br/>`telemetryrouters.arcdata.microsoft.com`: v1beta1, v1beta2<br/>|
27+
|Azure Resource Manager (ARM) API version|2022-06-15-preview|
28+
|`arcdata` Azure CLI extension version|1.4.8 ([Download](https://aka.ms/az-cli-arcdata-ext))|
29+
|Arc-enabled Kubernetes helm chart extension version|1.13.0|
30+
|Azure Arc Extension for Azure Data Studio<br/>`arc`<br/>`azcli`|<br/>1.7.0 ([Download](https://aka.ms/ads-arcdata-ext))</br>1.7.0 ([Download](https://aka.ms/ads-azcli-ext))|
31+
2032
## October 11, 2022
2133

2234
|Component|Value|

0 commit comments

Comments
 (0)