Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project>
<PropertyGroup>
<Version>0.1.0-alpha.3</Version>
<Version>0.1.0-alpha.4</Version>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ English | [Português (Brasil)](README.pt-BR.md)

**The SQL Server Management Studio experience, for PostgreSQL.** A native Windows client with Object Explorer, F5 to run, execution plans, session monitoring and backup/restore, built for people who already think in SSMS.

**[Download v0.1.0-alpha.3 for Windows x64](https://github.com/leoars/PostgresManagementStudio/releases/tag/v0.1.0-alpha.3)** · Graphical installer (EN/pt-BR) or portable ZIP, .NET runtime included · Works with PostgreSQL 17 and 18
**[Download v0.1.0-alpha.4 for Windows x64](https://github.com/leoars/PostgresManagementStudio/releases/tag/v0.1.0-alpha.4)** · Graphical installer (EN/pt-BR) or portable ZIP, .NET runtime included · Works with PostgreSQL 16–18

![PGMS editor, Object Explorer and query results](docs/assets/pgms-results-m959.jpg)

Expand Down Expand Up @@ -46,14 +46,14 @@ Get-FileHash .\PGMS-* -Algorithm SHA256
Compare the hashes with `SHA256SUMS.txt` in the release. Starting with v0.1.0-alpha.2 the assets are built by the [release workflow](.github/workflows/release.yml) on GitHub Actions and carry a build provenance attestation, so you can also confirm that the ZIP or installer came from that workflow and this repository (requires the [GitHub CLI](https://cli.github.com/)):

```powershell
gh attestation verify .\PGMS-0.1.0-alpha.3-Setup-x64.exe --repo leoars/PostgresManagementStudio
gh attestation verify .\PGMS-0.1.0-alpha.4-Setup-x64.exe --repo leoars/PostgresManagementStudio
```

v0.1.0-alpha.1 was built on the maintainer's machine and has checksums only. Code signing through the SignPath Foundation open source program is planned.

### Build from source

For development: Windows x64, PowerShell 7 and the .NET SDK selected by [global.json](global.json) (`10.0.400`, latest installed patch in that feature band). PostgreSQL 17/18 and matching-major tools are needed for database tests and backup/restore.
For development: Windows x64, PowerShell 7 and the .NET SDK selected by [global.json](global.json) (`10.0.400`, latest installed patch in that feature band). PostgreSQL 16–18 and matching-major tools are needed for database tests and backup/restore.

```powershell
git clone https://github.com/leoars/PostgresManagementStudio.git
Expand Down
6 changes: 3 additions & 3 deletions README.pt-BR.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

**A experiência do SQL Server Management Studio, para PostgreSQL.** Cliente nativo Windows com Object Explorer, F5 para executar, planos de execução, monitor de sessões e backup/restore, feito para quem já pensa em SSMS.

**[Baixar v0.1.0-alpha.3 para Windows x64](https://github.com/leoars/PostgresManagementStudio/releases/tag/v0.1.0-alpha.3)** · Instalador gráfico (EN/pt-BR) ou ZIP portátil, runtime .NET incluído · Funciona com PostgreSQL 17 e 18
**[Baixar v0.1.0-alpha.4 para Windows x64](https://github.com/leoars/PostgresManagementStudio/releases/tag/v0.1.0-alpha.4)** · Instalador gráfico (EN/pt-BR) ou ZIP portátil, runtime .NET incluído · Funciona com PostgreSQL 16 a 18

![Editor, Object Explorer e resultados do PGMS](docs/assets/pgms-results-m959.jpg)

Expand Down Expand Up @@ -46,14 +46,14 @@ Get-FileHash .\PGMS-* -Algorithm SHA256
Compare os hashes com o `SHA256SUMS.txt` da release. A partir da v0.1.0-alpha.2 os assets são compilados pelo [workflow de release](.github/workflows/release.yml) no GitHub Actions e trazem atestado de proveniência de build, então você também pode confirmar que o ZIP ou o instalador saiu desse workflow e deste repositório (exige o [GitHub CLI](https://cli.github.com/)):

```powershell
gh attestation verify .\PGMS-0.1.0-alpha.3-Setup-x64.exe --repo leoars/PostgresManagementStudio
gh attestation verify .\PGMS-0.1.0-alpha.4-Setup-x64.exe --repo leoars/PostgresManagementStudio
```

A v0.1.0-alpha.1 foi compilada na máquina do mantenedor e tem apenas checksums. A assinatura de código pelo programa open source da SignPath Foundation está planejada.

### Compilar a partir do código

Para desenvolvimento: Windows x64, PowerShell 7 e SDK .NET selecionado por [global.json](global.json) (`10.0.400`, com o patch mais recente instalado nessa faixa). PostgreSQL 17/18 e ferramentas da mesma versão principal são necessários para testes com banco e backup/restore.
Para desenvolvimento: Windows x64, PowerShell 7 e SDK .NET selecionado por [global.json](global.json) (`10.0.400`, com o patch mais recente instalado nessa faixa). PostgreSQL 16–18 e ferramentas da mesma versão principal são necessários para testes com banco e backup/restore.

```powershell
git clone https://github.com/leoars/PostgresManagementStudio.git
Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

English | [Português (Brasil)](SECURITY.pt-BR.md)

PGMS is in development. There is no published supported release series or guaranteed response time. Current development and the v0.1.0-alpha.3 pre-release are the starting points for investigation; historical packages do not automatically receive fixes.
PGMS is in development. There is no published supported release series or guaranteed response time. Current development and the v0.1.0-alpha.4 pre-release are the starting points for investigation; historical packages do not automatically receive fixes.

Do not disclose an unpatched vulnerability or real credentials in a public issue. Use GitHub's **Report a vulnerability** on this repository if private reporting is enabled. If it is unavailable, open an issue asking the maintainer for a private contact channel without including vulnerability details. Never post database dumps, saved profiles, DPAPI payloads, access tokens or private keys.

Expand Down
2 changes: 1 addition & 1 deletion SECURITY.pt-BR.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[English](SECURITY.md) | Português (Brasil)

O PGMS está em desenvolvimento. Não há série de releases publicada com suporte nem prazo de resposta garantido. O desenvolvimento atual e a pré-release v0.1.0-alpha.3 são o ponto de partida para investigação; pacotes históricos não recebem correções automaticamente.
O PGMS está em desenvolvimento. Não há série de releases publicada com suporte nem prazo de resposta garantido. O desenvolvimento atual e a pré-release v0.1.0-alpha.4 são o ponto de partida para investigação; pacotes históricos não recebem correções automaticamente.

Não divulgue vulnerabilidade sem correção ou credenciais reais em uma issue pública. Use **Report a vulnerability** no GitHub deste repositório se o relato privado estiver habilitado. Se estiver indisponível, abra uma issue pedindo ao mantenedor um canal privado, sem detalhes da vulnerabilidade. Nunca publique dumps, perfis salvos, payloads DPAPI, tokens ou chaves privadas.

Expand Down
4 changes: 2 additions & 2 deletions docs/en/distribution.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# PGMS v0.1.0-alpha.3 — portable distribution (M1022)
# PGMS v0.1.0-alpha.4 — portable distribution (M1030)

English | Português (Brasil): LEIA-ME.md in the package, or docs/pt-BR/distribution.md in the source repository.

Extract the entire directory and run PGMS.exe. A win-x64 self-contained package includes .NET/WPF; keep its DLLs, resources, LICENSE, notices and licenses directory together. No SSMS is required. No PostgreSQL server or client tools are bundled. Use PostgreSQL 17/18 and matching-major pg_dump/pg_restore/psql/pg_dumpall for applicable operations. No signed installer, MSI or automatic update is provided.
Extract the entire directory and run PGMS.exe. A win-x64 self-contained package includes .NET/WPF; keep its DLLs, resources, LICENSE, notices and licenses directory together. No SSMS is required. No PostgreSQL server or client tools are bundled. Use PostgreSQL 16–18 and matching-major pg_dump/pg_restore/psql/pg_dumpall for applicable operations. No signed installer, MSI or automatic update is provided.

Connect with the intended PostgreSQL role and appropriate TLS settings (VerifyFull by default). Review SQL, target and role before administering. Only run trusted restore scripts; SQL can issue COMMIT, reconnect or execute local psql commands. Cancel is a request and may arrive after COMMIT. Check the destination before retrying.

Expand Down
14 changes: 7 additions & 7 deletions docs/en/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

English | [Português (Brasil)](../pt-BR/getting-started.md)

[Download v0.1.0-alpha.3](https://github.com/leoars/PostgresManagementStudio/releases/tag/v0.1.0-alpha.3): [graphical installer](graphical-installer.md), portable ZIP or PowerShell 7 installer. The graphical installer offers current-user and all-users modes and does not require PowerShell. See [release notes](release-notes.md).
[Download v0.1.0-alpha.4](https://github.com/leoars/PostgresManagementStudio/releases/tag/v0.1.0-alpha.4): [graphical installer](graphical-installer.md), portable ZIP or PowerShell 7 installer. The graphical installer offers current-user and all-users modes and does not require PowerShell. See [release notes](release-notes.md).

### Windows SmartScreen warning

Expand All @@ -15,16 +15,16 @@ Get-FileHash .\PGMS-* -Algorithm SHA256
Compare the hashes with `SHA256SUMS.txt` in the release. Starting with v0.1.0-alpha.2 the assets are built by the [release workflow](../../.github/workflows/release.yml) on GitHub Actions and carry a build provenance attestation, so you can also confirm that the ZIP or installer came from that workflow and this repository (requires the [GitHub CLI](https://cli.github.com/); see [development](development.md)):

```powershell
gh attestation verify .\PGMS-0.1.0-alpha.3-Setup-x64.exe --repo leoars/PostgresManagementStudio
gh attestation verify .\PGMS-0.1.0-alpha.4-Setup-x64.exe --repo leoars/PostgresManagementStudio
```

v0.1.0-alpha.1 was built on the maintainer's machine and has checksums only. Code signing through the SignPath Foundation open source program is planned.

## Requirements

PGMS targets Windows x64. Building requires PowerShell 7 and a .NET 10 SDK compatible with [global.json](../../global.json): 10.0.400 with latest-patch roll-forward. Dependencies are pinned in NuGet lockfiles. The M1022 package was built with SDK 10.0.403 and bundles .NET/WPF 10.0.14; a rebuild may use different installed runtime packs.
PGMS targets Windows x64. Building requires PowerShell 7 and a .NET 10 SDK compatible with [global.json](../../global.json): 10.0.400 with latest-patch roll-forward. Dependencies are pinned in NuGet lockfiles. The M1030 package was built with SDK 10.0.403 and bundles .NET/WPF 10.0.14; a rebuild may use different installed runtime packs.

PostgreSQL 17/18 with same-major client tools is the supported database scope. The historical matrix tested 17.11/18.6. A server is not needed just to open the shell. Backup/restore requires external pg_dump, pg_restore, psql and pg_dumpall as applicable; PGMS installs none of them.
PostgreSQL 16–18 with same-major client tools is the supported database scope. The complete regression runs on 17.11; Activity Monitor and Query Statistics suites also ran on 16.15 and 18.6. On PostgreSQL 16, Query Statistics needs `pg_stat_statements` 1.10 or later. A server is not needed just to open the shell. Backup/restore requires external pg_dump, pg_restore, psql and pg_dumpall as applicable; PGMS installs none of them.

```powershell
./scripts/Build.ps1
Expand All @@ -35,11 +35,11 @@ dotnet run --project src/PGMS.Desktop

```powershell
./scripts/Publish.ps1 -SelfContained
./scripts/Verify-Package.ps1 -PackagePath artifacts/M1022-win-x64
./scripts/New-PackageArchive.ps1 -PackagePath artifacts/M1022-win-x64
./scripts/Verify-Package.ps1 -PackagePath artifacts/M1030-win-x64
./scripts/New-PackageArchive.ps1 -PackagePath artifacts/M1030-win-x64
```

Paths follow `BuildInfo.Milestone`; replace M1022 if the build label changes. Existing package folders and ZIPs are refused rather than overwritten. A fresh clone contains neither local ZIPs nor acceptance artifacts. Extract the entire package and run PGMS.exe, retaining adjacent libraries and licenses. Without `-SelfContained`, the package needs an installed .NET10 Desktop Runtime. No SSMS is required.
Paths follow `BuildInfo.Milestone`; replace M1030 if the build label changes. Existing package folders and ZIPs are refused rather than overwritten. A fresh clone contains neither local ZIPs nor acceptance artifacts. Extract the entire package and run PGMS.exe, retaining adjacent libraries and licenses. Without `-SelfContained`, the package needs an installed .NET10 Desktop Runtime. No SSMS is required.

Optional managed installation/update/rollback uses the packaged PowerShell 7 scripts. Read `LEIA-ME.md` shipped with the exact package before using them. Portable execution does not require PowerShell 7. The current ZIP has no MSI, code signature or automatic updater; SmartScreen behavior has not been tested.

Expand Down
6 changes: 3 additions & 3 deletions docs/en/graphical-installer.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

English | [Português (Brasil)](../pt-BR/graphical-installer.md)

Download `PGMS-0.1.0-alpha.3-Setup-x64.exe` from the [alpha.3 release](https://github.com/leoars/PostgresManagementStudio/releases/tag/v0.1.0-alpha.3) and check it against `SHA256SUMS.txt` (and, optionally, `gh attestation verify`). Since v0.1.0-alpha.3 the installer is built by the release workflow from the same payload as the portable ZIP of that release; in v0.1.0-alpha.1 it was added later to wrap the existing M1022 payload. The installer does not require PowerShell or a separately installed .NET runtime.
Download `PGMS-0.1.0-alpha.4-Setup-x64.exe` from the [alpha.4 release](https://github.com/leoars/PostgresManagementStudio/releases/tag/v0.1.0-alpha.4) and check it against `SHA256SUMS.txt` (and, optionally, `gh attestation verify`). Since v0.1.0-alpha.2 the installer is built by the release workflow from the same payload as the portable ZIP of that release; in v0.1.0-alpha.1 it was added later to wrap the existing M1008 payload. The installer does not require PowerShell or a separately installed .NET runtime.

## Installation choices

Expand All @@ -23,10 +23,10 @@ The executable is unsigned; SmartScreen reputation and a clean Windows VM have n

## Build and test

Use the official [Inno Setup 7.1.1 x64 compiler](https://jrsoftware.org/isdl.php), retaining its license. Extract the existing release ZIP into `artifacts/M1022-win-x64`. The builder checks every payload file, the frozen manifest and application version, and refuses an existing output directory. A local application rebuild may have a different manifest and is intentionally refused by this release-specific builder. Update the release configuration for a future frozen release. The [release workflow](../../.github/workflows/release.yml) passes `-SkipFrozenManifest` because it builds the payload itself; milestone and product version are still enforced, and the frozen hash remains required for local builds.
Use the official [Inno Setup 7.1.1 x64 compiler](https://jrsoftware.org/isdl.php), retaining its license. Extract the existing release ZIP into `artifacts/M1030-win-x64`. The builder checks every payload file, the frozen manifest and application version, and refuses an existing output directory. A local application rebuild may have a different manifest and is intentionally refused by this release-specific builder. Update the release configuration for a future frozen release. The [release workflow](../../.github/workflows/release.yml) passes `-SkipFrozenManifest` because it builds the payload itself; milestone and product version are still enforced, and the frozen hash remains required for local builds.

```powershell
./scripts/Build-GraphicalInstaller.ps1 -PackagePath artifacts/M1022-win-x64 -CompilerPath 'C:\Tools\Inno Setup 7\ISCC.exe'
./scripts/Build-GraphicalInstaller.ps1 -PackagePath artifacts/M1030-win-x64 -CompilerPath 'C:\Tools\Inno Setup 7\ISCC.exe'
./scripts/Test-GraphicalInstaller.ps1 -InstallerPath artifacts/graphical-installer/0.1.0-alpha.1/PGMS-0.1.0-alpha.1-Setup-x64.exe
```

Expand Down
Loading