36 lines
897 B
Markdown
36 lines
897 B
Markdown
# pgimport
|
|
|
|
Migrates ntfy data from SQLite to PostgreSQL.
|
|
|
|
## Build
|
|
|
|
```bash
|
|
go build -o pgimport ./tools/pgimport/
|
|
```
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
# Using CLI flags
|
|
pgimport \
|
|
--database-url "postgres://user:pass@host:5432/ntfy?sslmode=require" \
|
|
--cache-file /var/cache/ntfy/cache.db \
|
|
--auth-file /var/lib/ntfy/user.db \
|
|
--web-push-file /var/lib/ntfy/webpush.db
|
|
|
|
# Using server.yml (flags override config values)
|
|
pgimport --config /etc/ntfy/server.yml
|
|
```
|
|
|
|
## Prerequisites
|
|
|
|
- PostgreSQL schema must already be set up (run ntfy with `database-url` once)
|
|
- ntfy must not be running during the import
|
|
- All three SQLite files are optional; only the ones specified will be imported
|
|
|
|
## Notes
|
|
|
|
- The tool is idempotent and safe to re-run
|
|
- After importing, row counts and content are verified against the SQLite sources
|
|
- Invalid UTF-8 in messages is replaced with the Unicode replacement character
|