diff --git a/syncapi/storage/postgres/syncserver.go b/syncapi/storage/postgres/syncserver.go index fa2df26e9..7243a94d9 100644 --- a/syncapi/storage/postgres/syncserver.go +++ b/syncapi/storage/postgres/syncserver.go @@ -37,6 +37,8 @@ type SyncServerDatasource struct { sqlutil.PartitionOffsetStatements } +const createSequence = "CREATE SEQUENCE IF NOT EXISTS syncapi_stream_id;" + // NewDatabase creates a new sync server database func NewDatabase(dbProperties *config.DatabaseOptions) (*SyncServerDatasource, error) { var d SyncServerDatasource @@ -46,6 +48,11 @@ func NewDatabase(dbProperties *config.DatabaseOptions) (*SyncServerDatasource, e } d.writer = sqlutil.NewDummyWriter() + // Make sure the required, for most tables, exists. + if _, err = d.db.Exec(createSequence); err != nil { + return nil, err + } + // Create tables before executing migrations so we don't fail if the table is missing, // and THEN prepare statements so we don't fail due to referencing new columns r := receiptStatements{}