element-hq / element-hq/synapse

synapse_port_db: foreign key violation on table refresh_tokens (possible regression?)

Open
#19,148 1 comment 0 reactions 0 assignees View on GitHub
A-Portdb
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

### Description

Hello,

Trying to port from sqlite to postgre fails with error:
`twisted.internet.defer.FirstError: FirstError[#41, [Failure instance: Traceback: : insert or update on table "refresh_tokens" violates foreign key constraint "refresh_tokens_next_token_id_fkey"
DETAIL: Key (next_token_id)=(70) is not present in table "refresh_tokens".`

All I could find was issue #8652, fixed by #8730.
Note that attempting a second time, the target DB is bigger at the end of the 2nd attempt than at the end of the 1st, showing the 2nd attempt was able to go further.

### Steps to reproduce

- port from sqlite to a new postgresql database: `sudo synapse_port_db --sqlite-database /var/lib/matrix-synapse/homeserver.db --postgres-config /etc/matrix-synapse/homeserver.yaml --curses`
- process fails after some time with the error mentioned

### Homeserver

matrix.lorteau.fr

### Synapse Version

1.141.0

### Installation Method

Debian packages from packages.matrix.org

### Database

Trying to migrate from sqlite to a single postgresql server on a different host. I don't know the version of the db. I haven't attempted such port before. No backup was restored (but see note in platform below)

### Workers

Single process

### Platform

Synapse was installed using the packages.matrix.org repository and runs on Ubuntu 24.04.3 LTS, inside a VM dedicated to it.
As part of moving away from testing mode the VM was moved to a different host. It is possible that during the life of the VM at some point a snapshot was restored (hence my note on backups). I honestly can't recall.
I have been in "testing" mode a while and my .db file reached 15GB. This is a very much a little home lab setup.

### Configuration

Vanilla install + mautrix-discord + mautrix-gmessages + mautrix-whatsapp.

### Relevant log output

[synapse_port_db.log](https://github.com/user-attachments/files/23377195/synapse_port_db.log)

### Anything else that would be useful to know?

Can't think of any.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.