Skip to content

# Upgrade to ejabberd 21.12

## PostgreSQL new schema

If you migrated your PostgreSQL database from old to new schema using previous ejabberd versions, your database may be missing the migration steps for the `push_session` table. You can update it now with:

    ALTER TABLE push_session ADD COLUMN server_host text NOT NULL DEFAULT '<HOST>';
    DROP INDEX i_push_usn;
    DROP INDEX i_push_ut;
    ALTER TABLE push_session ADD PRIMARY KEY (server_host, username, timestamp);
    CREATE UNIQUE INDEX i_push_session_susn ON push_session USING btree (server_host, username, service, node);

In the PostgreSQL new schema, the primary key for the `vcard_search` table was wrong. How to update an existing database:

    ALTER TABLE vcard_search DROP CONSTRAINT vcard_search_pkey;
    ALTER TABLE vcard_search ADD PRIMARY KEY (server_host, lusername);

## mod_register_web restrictions

mod_register_web is now affected by the restrictions that you configure in mod_register.