PgToSqlite 1.0.0
dotnet add package PgToSqlite --version 1.0.0
NuGet\Install-Package PgToSqlite -Version 1.0.0
<PackageReference Include="PgToSqlite" Version="1.0.0" />
<PackageVersion Include="PgToSqlite" Version="1.0.0" />
<PackageReference Include="PgToSqlite" />
paket add PgToSqlite --version 1.0.0
#r "nuget: PgToSqlite, 1.0.0"
#:package PgToSqlite@1.0.0
#addin nuget:?package=PgToSqlite&version=1.0.0
#tool nuget:?package=PgToSqlite&version=1.0.0
PgToSqlite
PgToSqlite is a lightweight .NET library that converts a PostgreSQL database into a SQLite database — schema and data.
Designed for:
- Offline-first applications
- Local development & testing
- Desktop & mobile apps
- CI pipelines
- Lightweight deployments
✨ Features
✔ Converts PostgreSQL tables to SQLite
✔ Copies all data (streaming, low memory)
✔ Supports composite primary keys
✔ Sync and async APIs
✔ Progress reporting
✔ Cross-platform (.NET 8+)
📦 Installation
dotnet add package PgToSqlite
🚀 Quick Start Synchronous
PgToSqliteConverter.Convert(postgresConnectionString, "app.sqlite");
Asynchronous
await PgToSqliteConverter.ConvertAsync(postgresConnectionString, "app.sqlite");
📊 Progress Reporting
var progress = new Progress<PgToSqliteProgress>(p =>
{
Console.WriteLine(
$"[{p.TablesCompleted}/{p.TotalTables}] " +
$"{p.CurrentTable} — {p.RowsCopied:N0} rows");
});
PgToSqliteConverter.Convert(
pgConnString,
"app.sqlite",
new PgToSqliteOptions
{
Progress = progress
});
⚙ Options
var options = new PgToSqliteOptions
{
Overwrite = true,
Progress = progress
};
⚠ Limitations (v1)
- PostgreSQL schemas are flattened (public only)
- JSON is stored as TEXT
- Arrays are not supported
- Views, triggers, functions are ignored
🗺 Roadmap
- Index & foreign key migration
- Table filtering
- CLI tool (dotnet tool)
- Progress percentages
- EF Core integration
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.Data.Sqlite (>= 10.0.1)
- Npgsql (>= 10.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 123 | 12/29/2025 |