Digests no longer work after switch to Postgresql

Describe the problem you’re having:

I decided to switch from MariaDB to Postgresql since that is what’s recommended. Now, however, digest emails don’t get sent out, and I’m not sure why.

If possible include steps to reproduce the problem:

  1. update ttrss_users set last_digest_sent = '1970-01-01' where login = 'you'

  2. Update digest time to current time for my user

  3. ./update.php --log-level 3 --send-digests

  4. Log results are below.

    PHP Warning: Module ‘apcu’ already loaded in Unknown on line 0
    [16:01:11/112880] Lock: update.lock
    [16:01:11/112880] Sending digests, batch of max 15 users, headline limit = 1000
    [16:01:11/112880] All done.

tt-rss version (including git commit id):

2d77d2d89efa8f5b086856b4ff7893a20db90ad5

Platform (i.e. Linux distro, PHP, PostgreSQL, etc) versions:

CentOS 7.7
PHP 7.3
Postgresql 12.0

Please provide any additional information below:

When I run the steps to reproduce, my user’s last_digest_sent field becomes blank, and no email is sent. I have tested and verified that the provided SMTP credentials work.

what did you do exactly?

it can’t be “blank”, it’s a timestamp field which may be NULL or a valid date/time.

the only place where this field is directly assigned NULL is when one preference changes, if it becomes NULL (or anything like it) automatically you could have something wrong going on with your database.

any errors logged in tt-rss event log and/or postgresql logs?

e:

Update digest time to current time for my user

this is when it becomes NULL so i guess you can scratch the above out.

make sure digests are enabled in preferences, it’s a separate option. other than that i’m not sure what to tell you.

preferred “current time” should be server time, in UTC. digests should be sent within 2 hours after this time by update daemon / cronjob.

Out of curiosity, did you setup TT-RSS as new when you switched? Or use the migration plugin? Or sql dump/import? A direct dump/import of the database will not work.

I exported my feeds and settings in a .OPML file, set up TT-RSS as new, and then imported the .OPML file, including the settings.

Interestingly, it appears as though the email_digest field in the ttrss_users row for my account shows as False even though the option shows is enabled in the GUI. If I toggle the option on/off, it still shows as False.

there’s nothing interesting about that, you’re just looking in the wrong place.

e: i’m going to suggest you stop digging in the database randomly because your shocking findings, stemming from the lack of understanding how the app works, aren’t really helping.