[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CS6Z59DP0JDH1GHWWZJNH5":3,"skill-same:01M6CS6Z59DP0JDH1GHWWZJNH5":73},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":45,"ownerHtmlUrl":46,"ownerBlogUrl":6,"ownerDescription":47,"updatedAt":48,"install":49,"resources":62},"01M6CS6Z59DP0JDH1GHWWZJNH5","azure-resource-manager-postgresql-dotnet",null,"Azure PostgreSQL Flexible Server SDK for .NET. Database management for PostgreSQL Flexible Server deployments.","Sam-06060\u002Fjarvis-assistant","Sam-06060","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F208600848?v=4","01M6CRKT7C7FXD21V6HXF293S0","Samson Frank Ganta","01M6CRKTBEKYFD8YX5Z1GT99EE",6,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fazure-resource-manager-postgresql-dotnet\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33],"dotnet","azure","azure resource manager postgresql dotnet","postgresql","sdk","database","server","management","deployments","community","2026-11-10 10:12:30",false,"---\nname: azure-resource-manager-postgresql-dotnet\ndescription: Azure PostgreSQL Flexible Server SDK for .NET. Database management for PostgreSQL Flexible Server deployments.\nrisk: unknown\nsource: community\ndate_added: '2026-02-27'\n---\n\n# Azure.ResourceManager.PostgreSql (.NET)\n\nAzure Resource Manager SDK for managing PostgreSQL Flexible Server deployments.\n\n## Installation\n\n```bash\ndotnet add package Azure.ResourceManager.PostgreSql\ndotnet add package Azure.Identity\n```\n\n**Current Version**: v1.2.0 (GA)  \n**API Version**: 2023-12-01-preview\n\n> **Note**: This skill focuses on PostgreSQL Flexible Server. Single Server is deprecated and scheduled for retirement.\n\n## Environment Variables\n\n```bash\nAZURE_SUBSCRIPTION_ID=\u003Cyour-subscription-id>\nAZURE_RESOURCE_GROUP=\u003Cyour-resource-group>\nAZURE_POSTGRESQL_SERVER_NAME=\u003Cyour-postgresql-server>\n```\n\n## Authentication\n\n```csharp\nusing Azure.Identity;\nusing Azure.ResourceManager;\nusing Azure.ResourceManager.PostgreSql;\nusing Azure.ResourceManager.PostgreSql.FlexibleServers;\n\nArmClient client = new ArmClient(new DefaultAzureCredential());\n```\n\n## Resource Hierarchy\n\n```\nSubscription\n└── ResourceGroup\n    └── PostgreSqlFlexibleServer              # PostgreSQL Flexible Server instance\n        ├── PostgreSqlFlexibleServerDatabase  # Database within the server\n        ├── PostgreSqlFlexibleServerFirewallRule # IP firewall rules\n        ├── PostgreSqlFlexibleServerConfiguration # Server parameters\n        ├── PostgreSqlFlexibleServerBackup    # Backup information\n        ├── PostgreSqlFlexibleServerActiveDirectoryAdministrator # Entra ID admin\n        └── PostgreSqlFlexibleServerVirtualEndpoint # Read replica endpoints\n```\n\n## Core Workflows\n\n### 1. Create PostgreSQL Flexible Server\n\n```csharp\nusing Azure.ResourceManager.PostgreSql.FlexibleServers;\nusing Azure.ResourceManager.PostgreSql.FlexibleServers.Models;\n\nResourceGroupResource resourceGroup = await client\n    .GetDefaultSubscriptionAsync()\n    .Result\n    .GetResourceGroupAsync(\"my-resource-group\");\n\nPostgreSqlFlexibleServerCollection servers = resourceGroup.GetPostgreSqlFlexibleServers();\n\nPostgreSqlFlexibleServerData data = new PostgreSqlFlexibleServerData(AzureLocation.EastUS)\n{\n    Sku = new PostgreSqlFlexibleServerSku(\"Standard_D2ds_v4\", PostgreSqlFlexibleServerSkuTier.GeneralPurpose),\n    AdministratorLogin = \"pgadmin\",\n    AdministratorLoginPassword = \"YourSecurePassword123!\",\n    Version = PostgreSqlFlexibleServerVersion.Ver16,\n    Storage = new PostgreSqlFlexibleServerStorage\n    {\n        StorageSizeInGB = 128,\n        AutoGrow = StorageAutoGrow.Enabled,\n        Tier = PostgreSqlStorageTierName.P30\n    },\n    Backup = new PostgreSqlFlexibleServerBackupProperties\n    {\n        BackupRetentionDays = 7,\n        GeoRedundantBackup = PostgreSqlFlexibleServerGeoRedundantBackupEnum.Disabled\n    },\n    HighAvailability = new PostgreSqlFlexibleServerHighAvailability\n    {\n        Mode = PostgreSqlFlexibleServerHighAvailabilityMode.ZoneRedundant,\n        StandbyAvailabilityZone = \"2\"\n    },\n    AvailabilityZone = \"1\",\n    AuthConfig = new PostgreSqlFlexibleServerAuthConfig\n    {\n        ActiveDirectoryAuth = PostgreSqlFlexibleServerActiveDirectoryAuthEnum.Enabled,\n        PasswordAuth = PostgreSqlFlexibleServerPasswordAuthEnum.Enabled\n    }\n};\n\nArmOperation\u003CPostgreSqlFlexibleServerResource> operation = await servers\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"my-postgresql-server\", data);\n\nPostgreSqlFlexibleServerResource server = operation.Value;\nConsole.WriteLine($\"Server created: {server.Data.FullyQualifiedDomainName}\");\n```\n\n### 2. Create Database\n\n```csharp\nPostgreSqlFlexibleServerResource server = await resourceGroup\n    .GetPostgreSqlFlexibleServerAsync(\"my-postgresql-server\");\n\nPostgreSqlFlexibleServerDatabaseCollection databases = server.GetPostgreSqlFlexibleServerDatabases();\n\nPostgreSqlFlexibleServerDatabaseData dbData = new PostgreSqlFlexibleServerDatabaseData\n{\n    Charset = \"UTF8\",\n    Collation = \"en_US.utf8\"\n};\n\nArmOperation\u003CPostgreSqlFlexibleServerDatabaseResource> operation = await databases\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"myappdb\", dbData);\n\nPostgreSqlFlexibleServerDatabaseResource database = operation.Value;\nConsole.WriteLine($\"Database created: {database.Data.Name}\");\n```\n\n### 3. Configure Firewall Rules\n\n```csharp\nPostgreSqlFlexibleServerFirewallRuleCollection firewallRules = server.GetPostgreSqlFlexibleServerFirewallRules();\n\n\u002F\u002F Allow specific IP range\nPostgreSqlFlexibleServerFirewallRuleData ruleData = new PostgreSqlFlexibleServerFirewallRuleData\n{\n    StartIPAddress = System.Net.IPAddress.Parse(\"10.0.0.1\"),\n    EndIPAddress = System.Net.IPAddress.Parse(\"10.0.0.255\")\n};\n\nArmOperation\u003CPostgreSqlFlexibleServerFirewallRuleResource> operation = await firewallRules\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"allow-internal\", ruleData);\n\n\u002F\u002F Allow Azure services\nPostgreSqlFlexibleServerFirewallRuleData azureServicesRule = new PostgreSqlFlexibleServerFirewallRuleData\n{\n    StartIPAddress = System.Net.IPAddress.Parse(\"0.0.0.0\"),\n    EndIPAddress = System.Net.IPAddress.Parse(\"0.0.0.0\")\n};\n\nawait firewallRules.CreateOrUpdateAsync(WaitUntil.Completed, \"AllowAllAzureServicesAndResourcesWithinAzureIps\", azureServicesRule);\n```\n\n### 4. Update Server Configuration\n\n```csharp\nPostgreSqlFlexibleServerConfigurationCollection configurations = server.GetPostgreSqlFlexibleServerConfigurations();\n\n\u002F\u002F Get current configuration\nPostgreSqlFlexibleServerConfigurationResource config = await configurations\n    .GetAsync(\"max_connections\");\n\n\u002F\u002F Update configuration\nPostgreSqlFlexibleServerConfigurationData configData = new PostgreSqlFlexibleServerConfigurationData\n{\n    Value = \"500\",\n    Source = \"user-override\"\n};\n\nArmOperation\u003CPostgreSqlFlexibleServerConfigurationResource> operation = await configurations\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"max_connections\", configData);\n\n\u002F\u002F Common PostgreSQL configurations to tune\nstring[] commonParams = { \n    \"max_connections\", \n    \"shared_buffers\", \n    \"work_mem\", \n    \"maintenance_work_mem\",\n    \"effective_cache_size\",\n    \"log_min_duration_statement\"\n};\n```\n\n### 5. Configure Entra ID Administrator\n\n```csharp\nPostgreSqlFlexibleServerActiveDirectoryAdministratorCollection admins = \n    server.GetPostgreSqlFlexibleServerActiveDirectoryAdministrators();\n\nPostgreSqlFlexibleServerActiveDirectoryAdministratorData adminData = \n    new PostgreSqlFlexibleServerActiveDirectoryAdministratorData\n{\n    PrincipalType = PostgreSqlFlexibleServerPrincipalType.User,\n    PrincipalName = \"aad-admin@contoso.com\",\n    TenantId = Guid.Parse(\"\u003Ctenant-id>\")\n};\n\nArmOperation\u003CPostgreSqlFlexibleServerActiveDirectoryAdministratorResource> operation = await admins\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"\u003Centra-object-id>\", adminData);\n```\n\n### 6. List and Manage Servers\n\n```csharp\n\u002F\u002F List servers in resource group\nawait foreach (PostgreSqlFlexibleServerResource server in resourceGroup.GetPostgreSqlFlexibleServers())\n{\n    Console.WriteLine($\"Server: {server.Data.Name}\");\n    Console.WriteLine($\"  FQDN: {server.Data.FullyQualifiedDomainName}\");\n    Console.WriteLine($\"  Version: {server.Data.Version}\");\n    Console.WriteLine($\"  State: {server.Data.State}\");\n    Console.WriteLine($\"  SKU: {server.Data.Sku.Name} ({server.Data.Sku.Tier})\");\n    Console.WriteLine($\"  HA: {server.Data.HighAvailability?.Mode}\");\n}\n\n\u002F\u002F List databases in server\nawait foreach (PostgreSqlFlexibleServerDatabaseResource db in server.GetPostgreSqlFlexibleServerDatabases())\n{\n    Console.WriteLine($\"Database: {db.Data.Name}\");\n}\n```\n\n### 7. Backup and Point-in-Time Restore\n\n```csharp\n\u002F\u002F List available backups\nawait foreach (PostgreSqlFlexibleServerBackupResource backup in server.GetPostgreSqlFlexibleServerBackups())\n{\n    Console.WriteLine($\"Backup: {backup.Data.Name}\");\n    Console.WriteLine($\"  Type: {backup.Data.BackupType}\");\n    Console.WriteLine($\"  Completed: {backup.Data.CompletedOn}\");\n}\n\n\u002F\u002F Point-in-time restore\nPostgreSqlFlexibleServerData restoreData = new PostgreSqlFlexibleServerData(AzureLocation.EastUS)\n{\n    CreateMode = PostgreSqlFlexibleServerCreateMode.PointInTimeRestore,\n    SourceServerResourceId = server.Id,\n    PointInTimeUtc = DateTimeOffset.UtcNow.AddHours(-2)\n};\n\nArmOperation\u003CPostgreSqlFlexibleServerResource> operation = await servers\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"my-postgresql-restored\", restoreData);\n```\n\n### 8. Create Read Replica\n\n```csharp\nPostgreSqlFlexibleServerData replicaData = new PostgreSqlFlexibleServerData(AzureLocation.WestUS)\n{\n    CreateMode = PostgreSqlFlexibleServerCreateMode.Replica,\n    SourceServerResourceId = server.Id,\n    Sku = new PostgreSqlFlexibleServerSku(\"Standard_D2ds_v4\", PostgreSqlFlexibleServerSkuTier.GeneralPurpose)\n};\n\nArmOperation\u003CPostgreSqlFlexibleServerResource> operation = await servers\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"my-postgresql-replica\", replicaData);\n```\n\n### 9. Stop and Start Server\n\n```csharp\nPostgreSqlFlexibleServerResource server = await resourceGroup\n    .GetPostgreSqlFlexibleServerAsync(\"my-postgresql-server\");\n\n\u002F\u002F Stop server (saves costs when not in use)\nawait server.StopAsync(WaitUntil.Completed);\n\n\u002F\u002F Start server\nawait server.StartAsync(WaitUntil.Completed);\n\n\u002F\u002F Restart server\nawait server.RestartAsync(WaitUntil.Completed, new PostgreSqlFlexibleServerRestartParameter\n{\n    RestartWithFailover = true,\n    FailoverMode = PostgreSqlFlexibleServerFailoverMode.PlannedFailover\n});\n```\n\n### 10. Update Server (Scale)\n\n```csharp\nPostgreSqlFlexibleServerResource server = await resourceGroup\n    .GetPostgreSqlFlexibleServerAsync(\"my-postgresql-server\");\n\nPostgreSqlFlexibleServerPatch patch = new PostgreSqlFlexibleServerPatch\n{\n    Sku = new PostgreSqlFlexibleServerSku(\"Standard_D4ds_v4\", PostgreSqlFlexibleServerSkuTier.GeneralPurpose),\n    Storage = new PostgreSqlFlexibleServerStorage\n    {\n        StorageSizeInGB = 256,\n        Tier = PostgreSqlStorageTierName.P40\n    }\n};\n\nArmOperation\u003CPostgreSqlFlexibleServerResource> operation = await server\n    .UpdateAsync(WaitUntil.Completed, patch);\n```\n\n### 11. Delete Server\n\n```csharp\nPostgreSqlFlexibleServerResource server = await resourceGroup\n    .GetPostgreSqlFlexibleServerAsync(\"my-postgresql-server\");\n\nawait server.DeleteAsync(WaitUntil.Completed);\n```\n\n## Key Types Reference\n\n| Type | Purpose |\n|------|---------|\n| `PostgreSqlFlexibleServerResource` | Flexible Server instance |\n| `PostgreSqlFlexibleServerData` | Server configuration data |\n| `PostgreSqlFlexibleServerCollection` | Collection of servers |\n| `PostgreSqlFlexibleServerDatabaseResource` | Database within server |\n| `PostgreSqlFlexibleServerFirewallRuleResource` | IP firewall rule |\n| `PostgreSqlFlexibleServerConfigurationResource` | Server parameter |\n| `PostgreSqlFlexibleServerBackupResource` | Backup metadata |\n| `PostgreSqlFlexibleServerActiveDirectoryAdministratorResource` | Entra ID admin |\n| `PostgreSqlFlexibleServerSku` | SKU (compute tier + size) |\n| `PostgreSqlFlexibleServerStorage` | Storage configuration |\n| `PostgreSqlFlexibleServerHighAvailability` | HA configuration |\n| `PostgreSqlFlexibleServerBackupProperties` | Backup settings |\n| `PostgreSqlFlexibleServerAuthConfig` | Authentication settings |\n\n## SKU Tiers\n\n| Tier | Use Case | SKU Examples |\n|------|----------|--------------|\n| `Burstable` | Dev\u002Ftest, light workloads | Standard_B1ms, Standard_B2s |\n| `GeneralPurpose` | Production workloads | Standard_D2ds_v4, Standard_D4ds_v4 |\n| `MemoryOptimized` | High memory requirements | Standard_E2ds_v4, Standard_E4ds_v4 |\n\n## PostgreSQL Versions\n\n| Version | Enum Value |\n|---------|------------|\n| PostgreSQL 11 | `Ver11` |\n| PostgreSQL 12 | `Ver12` |\n| PostgreSQL 13 | `Ver13` |\n| PostgreSQL 14 | `Ver14` |\n| PostgreSQL 15 | `Ver15` |\n| PostgreSQL 16 | `Ver16` |\n\n## High Availability Modes\n\n| Mode | Description |\n|------|-------------|\n| `Disabled` | No HA (single server) |\n| `SameZone` | HA within same availability zone |\n| `ZoneRedundant` | HA across availability zones |\n\n## Best Practices\n\n1. **Use Flexible Server** — Single Server is deprecated\n2. **Enable zone-redundant HA** — For production workloads\n3. **Use DefaultAzureCredential** — Prefer over connection strings\n4. **Configure Entra ID authentication** — More secure than SQL auth alone\n5. **Enable both auth methods** — Entra ID + password for flexibility\n6. **Set appropriate backup retention** — 7-35 days based on compliance\n7. **Use private endpoints** — For secure network access\n8. **Tune server parameters** — Based on workload characteristics\n9. **Use read replicas** — For read-heavy workloads\n10. **Stop dev\u002Ftest servers** — Save costs when not in use\n\n## Error Handling\n\n```csharp\nusing Azure;\n\ntry\n{\n    ArmOperation\u003CPostgreSqlFlexibleServerResource> operation = await servers\n        .CreateOrUpdateAsync(WaitUntil.Completed, \"my-postgresql\", data);\n}\ncatch (RequestFailedException ex) when (ex.Status == 409)\n{\n    Console.WriteLine(\"Server already exists\");\n}\ncatch (RequestFailedException ex) when (ex.Status == 400)\n{\n    Console.WriteLine($\"Invalid configuration: {ex.Message}\");\n}\ncatch (RequestFailedException ex)\n{\n    Console.WriteLine($\"Azure error: {ex.Status} - {ex.Message}\");\n}\n```\n\n## Connection String\n\nAfter creating the server, connect using:\n\n```csharp\n\u002F\u002F Npgsql connection string\nstring connectionString = $\"Host={server.Data.FullyQualifiedDomainName};\" +\n    \"Database=myappdb;\" +\n    \"Username=pgadmin;\" +\n    \"Password=YourSecurePassword123!;\" +\n    \"SSL Mode=Require;Trust Server Certificate=true;\";\n\n\u002F\u002F With Entra ID token (recommended)\nvar credential = new DefaultAzureCredential();\nvar token = await credential.GetTokenAsync(\n    new TokenRequestContext(new[] { \"https:\u002F\u002Fossrdbms-aad.database.windows.net\u002F.default\" }));\n\nstring connectionString = $\"Host={server.Data.FullyQualifiedDomainName};\" +\n    \"Database=myappdb;\" +\n    $\"Username=aad-admin@contoso.com;\" +\n    $\"Password={token.Token};\" +\n    \"SSL Mode=Require;\";\n```\n\n## Related SDKs\n\n| SDK | Purpose | Install |\n|-----|---------|---------|\n| `Azure.ResourceManager.PostgreSql` | PostgreSQL management (this SDK) | `dotnet add package Azure.ResourceManager.PostgreSql` |\n| `Azure.ResourceManager.MySql` | MySQL management | `dotnet add package Azure.ResourceManager.MySql` |\n| `Npgsql` | PostgreSQL data access | `dotnet add package Npgsql` |\n| `Npgsql.EntityFrameworkCore.PostgreSQL` | EF Core provider | `dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL` |\n\n## Reference Links\n\n| Resource | URL |\n|----------|-----|\n| NuGet Package | https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FAzure.ResourceManager.PostgreSql |\n| API Reference | https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fazure.resourcemanager.postgresql |\n| Product Documentation | https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fpostgresql\u002Fflexible-server\u002F |\n| GitHub Source | https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-for-net\u002Ftree\u002Fmain\u002Fsdk\u002Fpostgresql\u002FAzure.ResourceManager.PostgreSql |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n","# Azure.ResourceManager.PostgreSql (.NET)\n\nAzure Resource Manager SDK for managing PostgreSQL Flexible Server deployments.\n\n## Installation\n\n```bash\ndotnet add package Azure.ResourceManager.PostgreSql\ndotnet add package Azure.Identity\n```\n\n**Current Version**: v1.2.0 (GA)  \n**API Version**: 2023-12-01-preview\n\n> **Note**: This skill focuses on PostgreSQL Flexible Server. Single Server is deprecated and scheduled for retirement.\n\n## Environment Variables\n\n```bash\nAZURE_SUBSCRIPTION_ID=\u003Cyour-subscription-id>\nAZURE_RESOURCE_GROUP=\u003Cyour-resource-group>\nAZURE_POSTGRESQL_SERVER_NAME=\u003Cyour-postgresql-server>\n```\n\n## Authentication\n\n```csharp\nusing Azure.Identity;\nusing Azure.ResourceManager;\nusing Azure.ResourceManager.PostgreSql;\nusing Azure.ResourceManager.PostgreSql.FlexibleServers;\n\nArmClient client = new ArmClient(new DefaultAzureCredential());\n```\n\n## Resource Hierarchy\n\n```\nSubscription\n└── ResourceGroup\n    └── PostgreSqlFlexibleServer              # PostgreSQL Flexible Server instance\n        ├── PostgreSqlFlexibleServerDatabase  # Database within the server\n        ├── PostgreSqlFlexibleServerFirewallRule # IP firewall rules\n        ├── PostgreSqlFlexibleServerConfiguration # Server parameters\n        ├── PostgreSqlFlexibleServerBackup    # Backup information\n        ├── PostgreSqlFlexibleServerActiveDirectoryAdministrator # Entra ID admin\n        └── PostgreSqlFlexibleServerVirtualEndpoint # Read replica endpoints\n```\n\n## Core Workflows\n\n### 1. Create PostgreSQL Flexible Server\n\n```csharp\nusing Azure.ResourceManager.PostgreSql.FlexibleServers;\nusing Azure.ResourceManager.PostgreSql.FlexibleServers.Models;\n\nResourceGroupResource resourceGroup = await client\n    .GetDefaultSubscriptionAsync()\n    .Result\n    .GetResourceGroupAsync(\"my-resource-group\");\n\nPostgreSqlFlexibleServerCollection servers = resourceGroup.GetPostgreSqlFlexibleServers();\n\nPostgreSqlFlexibleServerData data = new PostgreSqlFlexibleServerData(AzureLocation.EastUS)\n{\n    Sku = new PostgreSqlFlexibleServerSku(\"Standard_D2ds_v4\", PostgreSqlFlexibleServerSkuTier.GeneralPurpose),\n    AdministratorLogin = \"pgadmin\",\n    AdministratorLoginPassword = \"YourSecurePassword123!\",\n    Version = PostgreSqlFlexibleServerVersion.Ver16,\n    Storage = new PostgreSqlFlexibleServerStorage\n    {\n        StorageSizeInGB = 128,\n        AutoGrow = StorageAutoGrow.Enabled,\n        Tier = PostgreSqlStorageTierName.P30\n    },\n    Backup = new PostgreSqlFlexibleServerBackupProperties\n    {\n        BackupRetentionDays = 7,\n        GeoRedundantBackup = PostgreSqlFlexibleServerGeoRedundantBackupEnum.Disabled\n    },\n    HighAvailability = new PostgreSqlFlexibleServerHighAvailability\n    {\n        Mode = PostgreSqlFlexibleServerHighAvailabilityMode.ZoneRedundant,\n        StandbyAvailabilityZone = \"2\"\n    },\n    AvailabilityZone = \"1\",\n    AuthConfig = new PostgreSqlFlexibleServerAuthConfig\n    {\n        ActiveDirectoryAuth = PostgreSqlFlexibleServerActiveDirectoryAuthEnum.Enabled,\n        PasswordAuth = PostgreSqlFlexibleServerPasswordAuthEnum.Enabled\n    }\n};\n\nArmOperation\u003CPostgreSqlFlexibleServerResource> operation = await servers\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"my-postgresql-server\", data);\n\nPostgreSqlFlexibleServerResource server = operation.Value;\nConsole.WriteLine($\"Server created: {server.Data.FullyQualifiedDomainName}\");\n```\n\n### 2. Create Database\n\n```csharp\nPostgreSqlFlexibleServerResource server = await resourceGroup\n    .GetPostgreSqlFlexibleServerAsync(\"my-postgresql-server\");\n\nPostgreSqlFlexibleServerDatabaseCollection databases = server.GetPostgreSqlFlexibleServerDatabases();\n\nPostgreSqlFlexibleServerDatabaseData dbData = new PostgreSqlFlexibleServerDatabaseData\n{\n    Charset = \"UTF8\",\n    Collation = \"en_US.utf8\"\n};\n\nArmOperation\u003CPostgreSqlFlexibleServerDatabaseResource> operation = await databases\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"myappdb\", dbData);\n\nPostgreSqlFlexibleServerDatabaseResource database = operation.Value;\nConsole.WriteLine($\"Database created: {database.Data.Name}\");\n```\n\n### 3. Configure Firewall Rules\n\n```csharp\nPostgreSqlFlexibleServerFirewallRuleCollection firewallRules = server.GetPostgreSqlFlexibleServerFirewallRules();\n\n\u002F\u002F Allow specific IP range\nPostgreSqlFlexibleServerFirewallRuleData ruleData = new PostgreSqlFlexibleServerFirewallRuleData\n{\n    StartIPAddress = System.Net.IPAddress.Parse(\"10.0.0.1\"),\n    EndIPAddress = System.Net.IPAddress.Parse(\"10.0.0.255\")\n};\n\nArmOperation\u003CPostgreSqlFlexibleServerFirewallRuleResource> operation = await firewallRules\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"allow-internal\", ruleData);\n\n\u002F\u002F Allow Azure services\nPostgreSqlFlexibleServerFirewallRuleData azureServicesRule = new PostgreSqlFlexibleServerFirewallRuleData\n{\n    StartIPAddress = System.Net.IPAddress.Parse(\"0.0.0.0\"),\n    EndIPAddress = System.Net.IPAddress.Parse(\"0.0.0.0\")\n};\n\nawait firewallRules.CreateOrUpdateAsync(WaitUntil.Completed, \"AllowAllAzureServicesAndResourcesWithinAzureIps\", azureServicesRule);\n```\n\n### 4. Update Server Configuration\n\n```csharp\nPostgreSqlFlexibleServerConfigurationCollection configurations = server.GetPostgreSqlFlexibleServerConfigurations();\n\n\u002F\u002F Get current configuration\nPostgreSqlFlexibleServerConfigurationResource config = await configurations\n    .GetAsync(\"max_connections\");\n\n\u002F\u002F Update configuration\nPostgreSqlFlexibleServerConfigurationData configData = new PostgreSqlFlexibleServerConfigurationData\n{\n    Value = \"500\",\n    Source = \"user-override\"\n};\n\nArmOperation\u003CPostgreSqlFlexibleServerConfigurationResource> operation = await configurations\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"max_connections\", configData);\n\n\u002F\u002F Common PostgreSQL configurations to tune\nstring[] commonParams = { \n    \"max_connections\", \n    \"shared_buffers\", \n    \"work_mem\", \n    \"maintenance_work_mem\",\n    \"effective_cache_size\",\n    \"log_min_duration_statement\"\n};\n```\n\n### 5. Configure Entra ID Administrator\n\n```csharp\nPostgreSqlFlexibleServerActiveDirectoryAdministratorCollection admins = \n    server.GetPostgreSqlFlexibleServerActiveDirectoryAdministrators();\n\nPostgreSqlFlexibleServerActiveDirectoryAdministratorData adminData = \n    new PostgreSqlFlexibleServerActiveDirectoryAdministratorData\n{\n    PrincipalType = PostgreSqlFlexibleServerPrincipalType.User,\n    PrincipalName = \"aad-admin@contoso.com\",\n    TenantId = Guid.Parse(\"\u003Ctenant-id>\")\n};\n\nArmOperation\u003CPostgreSqlFlexibleServerActiveDirectoryAdministratorResource> operation = await admins\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"\u003Centra-object-id>\", adminData);\n```\n\n### 6. List and Manage Servers\n\n```csharp\n\u002F\u002F List servers in resource group\nawait foreach (PostgreSqlFlexibleServerResource server in resourceGroup.GetPostgreSqlFlexibleServers())\n{\n    Console.WriteLine($\"Server: {server.Data.Name}\");\n    Console.WriteLine($\"  FQDN: {server.Data.FullyQualifiedDomainName}\");\n    Console.WriteLine($\"  Version: {server.Data.Version}\");\n    Console.WriteLine($\"  State: {server.Data.State}\");\n    Console.WriteLine($\"  SKU: {server.Data.Sku.Name} ({server.Data.Sku.Tier})\");\n    Console.WriteLine($\"  HA: {server.Data.HighAvailability?.Mode}\");\n}\n\n\u002F\u002F List databases in server\nawait foreach (PostgreSqlFlexibleServerDatabaseResource db in server.GetPostgreSqlFlexibleServerDatabases())\n{\n    Console.WriteLine($\"Database: {db.Data.Name}\");\n}\n```\n\n### 7. Backup and Point-in-Time Restore\n\n```csharp\n\u002F\u002F List available backups\nawait foreach (PostgreSqlFlexibleServerBackupResource backup in server.GetPostgreSqlFlexibleServerBackups())\n{\n    Console.WriteLine($\"Backup: {backup.Data.Name}\");\n    Console.WriteLine($\"  Type: {backup.Data.BackupType}\");\n    Console.WriteLine($\"  Completed: {backup.Data.CompletedOn}\");\n}\n\n\u002F\u002F Point-in-time restore\nPostgreSqlFlexibleServerData restoreData = new PostgreSqlFlexibleServerData(AzureLocation.EastUS)\n{\n    CreateMode = PostgreSqlFlexibleServerCreateMode.PointInTimeRestore,\n    SourceServerResourceId = server.Id,\n    PointInTimeUtc = DateTimeOffset.UtcNow.AddHours(-2)\n};\n\nArmOperation\u003CPostgreSqlFlexibleServerResource> operation = await servers\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"my-postgresql-restored\", restoreData);\n```\n\n### 8. Create Read Replica\n\n```csharp\nPostgreSqlFlexibleServerData replicaData = new PostgreSqlFlexibleServerData(AzureLocation.WestUS)\n{\n    CreateMode = PostgreSqlFlexibleServerCreateMode.Replica,\n    SourceServerResourceId = server.Id,\n    Sku = new PostgreSqlFlexibleServerSku(\"Standard_D2ds_v4\", PostgreSqlFlexibleServerSkuTier.GeneralPurpose)\n};\n\nArmOperation\u003CPostgreSqlFlexibleServerResource> operation = await servers\n    .CreateOrUpdateAsync(WaitUntil.Completed, \"my-postgresql-replica\", replicaData);\n```\n\n### 9. Stop and Start Server\n\n```csharp\nPostgreSqlFlexibleServerResource server = await resourceGroup\n    .GetPostgreSqlFlexibleServerAsync(\"my-postgresql-server\");\n\n\u002F\u002F Stop server (saves costs when not in use)\nawait server.StopAsync(WaitUntil.Completed);\n\n\u002F\u002F Start server\nawait server.StartAsync(WaitUntil.Completed);\n\n\u002F\u002F Restart server\nawait server.RestartAsync(WaitUntil.Completed, new PostgreSqlFlexibleServerRestartParameter\n{\n    RestartWithFailover = true,\n    FailoverMode = PostgreSqlFlexibleServerFailoverMode.PlannedFailover\n});\n```\n\n### 10. Update Server (Scale)\n\n```csharp\nPostgreSqlFlexibleServerResource server = await resourceGroup\n    .GetPostgreSqlFlexibleServerAsync(\"my-postgresql-server\");\n\nPostgreSqlFlexibleServerPatch patch = new PostgreSqlFlexibleServerPatch\n{\n    Sku = new PostgreSqlFlexibleServerSku(\"Standard_D4ds_v4\", PostgreSqlFlexibleServerSkuTier.GeneralPurpose),\n    Storage = new PostgreSqlFlexibleServerStorage\n    {\n        StorageSizeInGB = 256,\n        Tier = PostgreSqlStorageTierName.P40\n    }\n};\n\nArmOperation\u003CPostgreSqlFlexibleServerResource> operation = await server\n    .UpdateAsync(WaitUntil.Completed, patch);\n```\n\n### 11. Delete Server\n\n```csharp\nPostgreSqlFlexibleServerResource server = await resourceGroup\n    .GetPostgreSqlFlexibleServerAsync(\"my-postgresql-server\");\n\nawait server.DeleteAsync(WaitUntil.Completed);\n```\n\n## Key Types Reference\n\n| Type | Purpose |\n|------|---------|\n| `PostgreSqlFlexibleServerResource` | Flexible Server instance |\n| `PostgreSqlFlexibleServerData` | Server configuration data |\n| `PostgreSqlFlexibleServerCollection` | Collection of servers |\n| `PostgreSqlFlexibleServerDatabaseResource` | Database within server |\n| `PostgreSqlFlexibleServerFirewallRuleResource` | IP firewall rule |\n| `PostgreSqlFlexibleServerConfigurationResource` | Server parameter |\n| `PostgreSqlFlexibleServerBackupResource` | Backup metadata |\n| `PostgreSqlFlexibleServerActiveDirectoryAdministratorResource` | Entra ID admin |\n| `PostgreSqlFlexibleServerSku` | SKU (compute tier + size) |\n| `PostgreSqlFlexibleServerStorage` | Storage configuration |\n| `PostgreSqlFlexibleServerHighAvailability` | HA configuration |\n| `PostgreSqlFlexibleServerBackupProperties` | Backup settings |\n| `PostgreSqlFlexibleServerAuthConfig` | Authentication settings |\n\n## SKU Tiers\n\n| Tier | Use Case | SKU Examples |\n|------|----------|--------------|\n| `Burstable` | Dev\u002Ftest, light workloads | Standard_B1ms, Standard_B2s |\n| `GeneralPurpose` | Production workloads | Standard_D2ds_v4, Standard_D4ds_v4 |\n| `MemoryOptimized` | High memory requirements | Standard_E2ds_v4, Standard_E4ds_v4 |\n\n## PostgreSQL Versions\n\n| Version | Enum Value |\n|---------|------------|\n| PostgreSQL 11 | `Ver11` |\n| PostgreSQL 12 | `Ver12` |\n| PostgreSQL 13 | `Ver13` |\n| PostgreSQL 14 | `Ver14` |\n| PostgreSQL 15 | `Ver15` |\n| PostgreSQL 16 | `Ver16` |\n\n## High Availability Modes\n\n| Mode | Description |\n|------|-------------|\n| `Disabled` | No HA (single server) |\n| `SameZone` | HA within same availability zone |\n| `ZoneRedundant` | HA across availability zones |\n\n## Best Practices\n\n1. **Use Flexible Server** — Single Server is deprecated\n2. **Enable zone-redundant HA** — For production workloads\n3. **Use DefaultAzureCredential** — Prefer over connection strings\n4. **Configure Entra ID authentication** — More secure than SQL auth alone\n5. **Enable both auth methods** — Entra ID + password for flexibility\n6. **Set appropriate backup retention** — 7-35 days based on compliance\n7. **Use private endpoints** — For secure network access\n8. **Tune server parameters** — Based on workload characteristics\n9. **Use read replicas** — For read-heavy workloads\n10. **Stop dev\u002Ftest servers** — Save costs when not in use\n\n## Error Handling\n\n```csharp\nusing Azure;\n\ntry\n{\n    ArmOperation\u003CPostgreSqlFlexibleServerResource> operation = await servers\n        .CreateOrUpdateAsync(WaitUntil.Completed, \"my-postgresql\", data);\n}\ncatch (RequestFailedException ex) when (ex.Status == 409)\n{\n    Console.WriteLine(\"Server already exists\");\n}\ncatch (RequestFailedException ex) when (ex.Status == 400)\n{\n    Console.WriteLine($\"Invalid configuration: {ex.Message}\");\n}\ncatch (RequestFailedException ex)\n{\n    Console.WriteLine($\"Azure error: {ex.Status} - {ex.Message}\");\n}\n```\n\n## Connection String\n\nAfter creating the server, connect using:\n\n```csharp\n\u002F\u002F Npgsql connection string\nstring connectionString = $\"Host={server.Data.FullyQualifiedDomainName};\" +\n    \"Database=myappdb;\" +\n    \"Username=pgadmin;\" +\n    \"Password=YourSecurePassword123!;\" +\n    \"SSL Mode=Require;Trust Server Certificate=true;\";\n\n\u002F\u002F With Entra ID token (recommended)\nvar credential = new DefaultAzureCredential();\nvar token = await credential.GetTokenAsync(\n    new TokenRequestContext(new[] { \"https:\u002F\u002Fossrdbms-aad.database.windows.net\u002F.default\" }));\n\nstring connectionString = $\"Host={server.Data.FullyQualifiedDomainName};\" +\n    \"Database=myappdb;\" +\n    $\"Username=aad-admin@contoso.com;\" +\n    $\"Password={token.Token};\" +\n    \"SSL Mode=Require;\";\n```\n\n## Related SDKs\n\n| SDK | Purpose | Install |\n|-----|---------|---------|\n| `Azure.ResourceManager.PostgreSql` | PostgreSQL management (this SDK) | `dotnet add package Azure.ResourceManager.PostgreSql` |\n| `Azure.ResourceManager.MySql` | MySQL management | `dotnet add package Azure.ResourceManager.MySql` |\n| `Npgsql` | PostgreSQL data access | `dotnet add package Npgsql` |\n| `Npgsql.EntityFrameworkCore.PostgreSQL` | EF Core provider | `dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL` |\n\n## Reference Links\n\n| Resource | URL |\n|----------|-----|\n| NuGet Package | https:\u002F\u002Fwww.nuget.org\u002Fpackages\u002FAzure.ResourceManager.PostgreSql |\n| API Reference | https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fapi\u002Fazure.resourcemanager.postgresql |\n| Product Documentation | https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fpostgresql\u002Fflexible-server\u002F |\n| GitHub Source | https:\u002F\u002Fgithub.com\u002FAzure\u002Fazure-sdk-for-net\u002Ftree\u002Fmain\u002Fsdk\u002Fpostgresql\u002FAzure.ResourceManager.PostgreSql |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n",{"name":5,"risk":39,"source":33,"date_added":40,"description":7},"unknown","2026-02-27","main","a50a3aa6b39fb0e1b7db88bef1bfc9c93606e126","modules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fazure-resource-manager-postgresql-dotnet",0,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant","https:\u002F\u002Fgithub.com\u002FSam-06060","Mobile Application Developer | Kotlin | Flutter, KMP, Swfit, Android,Swift UI | Building at Saar It Resources | Creator of Jarvis (AI Assistant)","2026-06-23 05:13:38",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add Sam-06060\u002Fjarvis-assistant --skill azure-resource-manager-postgresql-dotnet",{"tool":55,"command":56},"bunx","bunx skills add Sam-06060\u002Fjarvis-assistant --skill azure-resource-manager-postgresql-dotnet",{"tool":58,"command":59},"pnpm","pnpm dlx skills add Sam-06060\u002Fjarvis-assistant --skill azure-resource-manager-postgresql-dotnet","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fazure-resource-manager-postgresql-dotnet\u002FSKILL.md",true,[63,69],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"SOURCE.md","REFERENCE","参考文档",179,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fmontrafi-agent\u002FSOURCE.md",{"path":70,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":71,"sourceHtmlUrl":72},"TRUST.auto.yaml",2217,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Ftrading\u002Fmontrafi-agent\u002FTRUST.auto.yaml",[74,85,101,127,146,173],{"skillNo":75,"name":76,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":82,"publishedAt":34},"01M6GDRVS6FXX3ESH0C9DW01C0","test_skill","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fscratch\u002Ftest_skill\u002FSKILL.md",[79],{"categoryNo":80,"categoryName":81,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[83,84],"Test Skill","test",{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":34},"01M6GDRQ40HX22MA6XWC31RHHK","zustand-store-ts","Create Zustand stores following established patterns with proper TypeScript types and middleware.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzustand-store-ts\u002FSKILL.md",[],[92,93,94,95,96,97,98,33,99,100],"zustand store ts","zustand","store","with","types","middleware","patterns","create","typescript",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":110,"publishedAt":34},"01M6GDRKEA0WE670SPFWX5GKCN","zoom-automation","Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzoom-automation\u002FSKILL.md",[107],{"categoryNo":108,"categoryName":109,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[111,112,113,114,115,116,117,118,119,120,121,122,123,124,33,125,31,126],"automation","zoom automation","zoom","first","Tools","search","MCP","via","meeting","automate","critical","creation","webinars","composio","recordings","tracking",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":134,"publishedAt":34},"01M6GDRFS1452PC71JQ38S24HR","zoho-crm-automation","Automate Zoho CRM tasks via Rube MCP (Composio): create\u002Fupdate records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzoho-crm-automation\u002FSKILL.md",[133],{"categoryNo":108,"categoryName":109,"taxonomyType":21,"taxonomyTypeDesc":22},[135,111,136,137,138,139,140,33,116,141,124,142,121,120,115,143,99,144,117,145],"crm automation","zoho crm","crm","zoho crm automation","zoho","leads","contacts","records","update","tasks","manage",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":155,"publishedAt":34},"01M6GDRCKQBAVTGHX5XBH26KPZ","zod-validation-expert","Expert in Zod — TypeScript-first schema validation. Covers parsing, custom errors, refinements, type inference, and integration with React Hook Form, Next.js, and tRPC.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzod-validation-expert\u002FSKILL.md",[152],{"categoryNo":153,"categoryName":154,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[156,157,158,159,160,100,161,162,163,164,165,166,95,167,168,169,170,33,171,172],"expert","zod","zod validation expert","validation","react","safe","parsing","errors","schema validation","react hook form","hook","trpc","form","type","next","schema","Next.js",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":180,"publishedAt":34},"01M6GDR658B08K4MY0RWD4A6EH","zeroize-audit","Detects missing zeroization of sensitive data in source code and identifies zeroization removed by compiler optimizations, with assembly-level analysis, and control-flow verification. Use for auditing C\u002FC++\u002FRust code handling secrets, keys, passwords, or other sensitive data.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzeroize-audit\u002FSKILL.md",[179],{"categoryNo":108,"categoryName":109,"taxonomyType":21,"taxonomyTypeDesc":22},[181,182,183,184,185,186,187,188,33,189,190,191,192,193,194,195,196,197,198,117],"zeroize audit","audit","write","passwords","get","project","c++","activate","assembly","read","Bash","secrets","analysis","data","flow","verification","code","rust"]