-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, suddenly I notice that on my miniserver mail is not getting out: <2.3> 2023-05-03T11:02:40.503081+02:00 Isengard postfix 25700 - - error: open database /etc/postfix/sender_relayhost.lmdb: No such file or directory <2.4> 2023-05-03T11:02:40.504051+02:00 Isengard postfix 25700 - - warning: lmdb:/etc/postfix/sender_relayhost is unavailable. open database /etc/postfix/sender_relayhost.lmdb: No such file or directory Suddenly, without my asking for it, my postfix has changed to want lmdb files instead (probably during the upgrade to Leap 15.4): Isengard:/etc/postfix # postconf -p | grep lmdb address_verify_map = lmdb:$data_directory/verify_cache alias_database = lmdb:/etc/aliases alias_maps = lmdb:/etc/aliases canonical_maps = lmdb:/etc/postfix/canonical default_database_type = lmdb lmdb_map_size = 16777216 postscreen_cache_map = lmdb:$data_directory/postscreen_cache relay_domains = $mydestination, lmdb:/etc/postfix/relay relocated_maps = lmdb:/etc/postfix/relocated sender_canonical_maps = lmdb:/etc/postfix/sender_canonical sender_dependent_relayhost_maps = lmdb:/etc/postfix/sender_relayhost smtp_sasl_password_maps = lmdb:/etc/postfix/sasl_passwd smtpd_sender_restrictions = lmdb:/etc/postfix/access transport_maps = lmdb:/etc/postfix/transport virtual_alias_domains = lmdb:/etc/postfix/virtual virtual_alias_maps = lmdb:/etc/postfix/virtual Isengard:/etc/postfix # Apparently, many lmdb files have been generated automatically: Isengard:/etc/postfix # l *lmdb - -rw-r--r-- 1 root root 8192 May 3 11:32 access.lmdb - -rw-r--r-- 1 root root 8192 May 3 11:32 canonical.lmdb - -rw-r--r-- 1 root root 8192 May 3 11:32 generic.lmdb - -rw-r--r-- 1 root root 8192 Mar 5 20:14 helo_access.lmdb - -rw-r--r-- 1 root root 8192 Mar 5 20:14 relay.lmdb - -rw-r--r-- 1 root root 8192 Mar 5 20:14 relay_ccerts.lmdb - -rw-r--r-- 1 root root 8192 May 3 11:32 relocated.lmdb - -rw------- 1 root root 12288 Mar 5 20:14 sasl_passwd.lmdb - -rw-r--r-- 1 root root 8192 May 3 11:15 sender_canonical.lmdb - -rw-r--r-- 1 root root 12288 May 3 11:32 sender_relayhost.lmdb - -rw-r--r-- 1 root root 8192 May 3 11:32 transport.lmdb - -rw-r--r-- 1 root root 8192 Mar 5 20:14 virtual.lmdb Isengard:/etc/postfix # But sender_relayhost.lmdb I had to generate manually just now to get mail out. In Telcontar, it is being generated automatically: cer@Telcontar:~> l /etc/postfix/sender_relayhost* - -rw-r--r-- 1 root root 1192 Dec 5 18:38 /etc/postfix/sender_relayhost - -rw-r--r-- 1 root root 12288 Jul 29 2020 /etc/postfix/sender_relayhost.db - -rw-r--r-- 1 root root 32768 Apr 23 12:18 /etc/postfix/sender_relayhost.lmdb - -rw-r--r-- 1 root root 1193 Dec 5 18:37 /etc/postfix/sender_relayhost~ cer@Telcontar:~> But not in Isengard. Why? What is going on? - -- Cheers Carlos E. R. (from 15.4 x86_64 at Telcontar) -----BEGIN PGP SIGNATURE----- iHoEARECADoWIQQZEb51mJKK1KpcU/W1MxgcbY1H1QUCZFIuVxwccm9iaW4ubGlz dGFzQHRlbGVmb25pY2EubmV0AAoJELUzGBxtjUfV2boAnj7xCBXJj+FDgZ3cYfC+ N4Cca6IBAJ9qGdCm3HnmZGguFTCmTYpMCJg9rA== =aPn5 -----END PGP SIGNATURE-----
Carlos E. R. wrote:
Suddenly, without my asking for it, my postfix has changed to want lmdb files instead (probably during the upgrade to Leap 15.4): Apparently, many lmdb files have been generated automatically:
I think it happened in Leap 15.3. Normally your postfix database files should have been automatically created in lmdb format.
Why?
I would have to look up the details, but I wonder if it might have been a licensing issue.
What is going on?
If you wish to retain the Berkeley DB format as the default in postfix, you can simply install postfix-bdb. -- Per Jessen, Zürich (12.8°C) Member, openSUSE Heroes (2016 - present) We're hiring - https://en.opensuse.org/openSUSE:Heroes
On 2023-05-03 12:17, Per Jessen wrote:
Carlos E. R. wrote:
Suddenly, without my asking for it, my postfix has changed to want lmdb files instead (probably during the upgrade to Leap 15.4): Apparently, many lmdb files have been generated automatically:
I think it happened in Leap 15.3. Normally your postfix database files should have been automatically created in lmdb format.
Why?
I would have to look up the details, but I wonder if it might have been a licensing issue.
What is going on?
If you wish to retain the Berkeley DB format as the default in postfix, you can simply install postfix-bdb.
No, lmdb is fine, if that's what they want. The question is, as it is apparently generating all the lmdb files automatically, how do I tell it to also generate sender_relayhost.lmdb automatically. I had to do it manually. That single file. -- Cheers / Saludos, Carlos E. R. (from 15.4 x86_64 at Telcontar)
Carlos E. R. wrote:
On 2023-05-03 12:17, Per Jessen wrote:
Carlos E. R. wrote:
Suddenly, without my asking for it, my postfix has changed to want lmdb files instead (probably during the upgrade to Leap 15.4): Apparently, many lmdb files have been generated automatically:
I think it happened in Leap 15.3. Normally your postfix database files should have been automatically created in lmdb format.
Why?
I would have to look up the details, but I wonder if it might have been a licensing issue.
What is going on?
If you wish to retain the Berkeley DB format as the default in postfix, you can simply install postfix-bdb.
No, lmdb is fine, if that's what they want.
It is entirely up to you, "they" don't count :-) I have switched a number of systems back to bdb, so I wouldn't have to worry about having different database formats.
The question is, as it is apparently generating all the lmdb files automatically, how do I tell it to also generate sender_relayhost.lmdb automatically.
There is some reason why it was skipped or overlooked, I would check out the migration script. -- Per Jessen, Zürich (13.0°C) Member, openSUSE Heroes (2016 - present) We're hiring - https://en.opensuse.org/openSUSE:Heroes
Per Jessen wrote:
Carlos E. R. wrote:
The question is, as it is apparently generating all the lmdb files automatically, how do I tell it to also generate sender_relayhost.lmdb automatically.
There is some reason why it was skipped or overlooked, I would check out the migration script.
Maybe not "migration script", but there has to be some script that a) edits your main.cf and master.cf to globally change hash: to lmbd: and b) creates all the missing lmdb database. Look at "rpm -q --scripts postfix". (postinstall). -- Per Jessen, Zürich (13.6°C) Member, openSUSE Heroes (2016 - present) We're hiring - https://en.opensuse.org/openSUSE:Heroes
Per Jessen wrote:
Look at "rpm -q --scripts postfix". (postinstall).
Line 54 - I don't see any reason why your sender_relayhost table was not converted. Does the .db version exist on Isengard? -- Per Jessen, Zürich (13.8°C) Member, openSUSE Heroes (2016 - present) We're hiring - https://en.opensuse.org/openSUSE:Heroes
On 2023-05-03 12:49, Per Jessen wrote:
Per Jessen wrote:
Look at "rpm -q --scripts postfix". (postinstall).
Line 54 - I don't see any reason why your sender_relayhost table was not converted. Does the .db version exist on Isengard?
Certainly. Isengard:/etc/postfix # l sender_relayhost* -rw-r--r-- 1 root root 784 Dec 4 2016 sender_relayhost -rw-r--r-- 1 root root 12288 Dec 4 2016 sender_relayhost.db -rw-r--r-- 1 root root 12288 May 3 11:32 sender_relayhost.lmdb Isengard:/etc/postfix # cer@Telcontar:/etc/postfix> l sender_relayhost* -rw-r--r-- 1 root root 1192 Dec 5 18:38 sender_relayhost -rw-r--r-- 1 root root 12288 Jul 29 2020 sender_relayhost.db -rw-r--r-- 1 root root 32768 Apr 23 12:18 sender_relayhost.lmdb -rw-r--r-- 1 root root 1193 Dec 5 18:37 sender_relayhost~ cer@Telcontar:/etc/postfix> -- Cheers / Saludos, Carlos E. R. (from 15.4 x86_64 at Telcontar)
Carlos E. R. wrote:
On 2023-05-03 12:49, Per Jessen wrote:
Per Jessen wrote:
Look at "rpm -q --scripts postfix". (postinstall).
Line 54 - I don't see any reason why your sender_relayhost table was not converted. Does the .db version exist on Isengard?
Certainly.
Isengard:/etc/postfix # l sender_relayhost* -rw-r--r-- 1 root root 784 Dec 4 2016 sender_relayhost -rw-r--r-- 1 root root 12288 Dec 4 2016 sender_relayhost.db -rw-r--r-- 1 root root 12288 May 3 11:32 sender_relayhost.lmdb
Looks good to me - you could try this to see if it lists "sender_relayhost": for i in $(find /etc/postfix -name "*.db"); do echo ${i%.db}; done If it does list "sender_relayhost", I can't explain why a new database was not created during the upgrade. Maybe check your upgrade log, maybe it was some permissions issue. -- Per Jessen, Zürich (14.6°C) Member, openSUSE Heroes (2016 - present) We're hiring - https://en.opensuse.org/openSUSE:Heroes
On 2023-05-03 13:06, Per Jessen wrote:
Carlos E. R. wrote:
On 2023-05-03 12:49, Per Jessen wrote:
Per Jessen wrote:
Look at "rpm -q --scripts postfix". (postinstall).
Line 54 - I don't see any reason why your sender_relayhost table was not converted. Does the .db version exist on Isengard?
Certainly.
Isengard:/etc/postfix # l sender_relayhost* -rw-r--r-- 1 root root 784 Dec 4 2016 sender_relayhost -rw-r--r-- 1 root root 12288 Dec 4 2016 sender_relayhost.db -rw-r--r-- 1 root root 12288 May 3 11:32 sender_relayhost.lmdb
Looks good to me - you could try this to see if it lists "sender_relayhost":
for i in $(find /etc/postfix -name "*.db"); do echo ${i%.db}; done
I have already deleted all .db files. Yes, there certainly was an /etc/postfix/sender_relayhost.db file, dated 2016 (see above).
If it does list "sender_relayhost", I can't explain why a new database was not created during the upgrade. Maybe check your upgrade log, maybe it was some permissions issue.
It was not listed in POSTFIX_MAP_LIST in /etc/sysconfig/postfix -- Cheers / Saludos, Carlos E. R. (from 15.4 x86_64 at Telcontar)
Carlos E. R. wrote:
On 2023-05-03 13:06, Per Jessen wrote:
Carlos E. R. wrote:
On 2023-05-03 12:49, Per Jessen wrote:
Per Jessen wrote:
Look at "rpm -q --scripts postfix". (postinstall).
Line 54 - I don't see any reason why your sender_relayhost table was not converted. Does the .db version exist on Isengard?
Certainly.
Isengard:/etc/postfix # l sender_relayhost* -rw-r--r-- 1 root root 784 Dec 4 2016 sender_relayhost -rw-r--r-- 1 root root 12288 Dec 4 2016 sender_relayhost.db -rw-r--r-- 1 root root 12288 May 3 11:32 sender_relayhost.lmdb
Looks good to me - you could try this to see if it lists "sender_relayhost":
for i in $(find /etc/postfix -name "*.db"); do echo ${i%.db}; done
I have already deleted all .db files. Yes, there certainly was an /etc/postfix/sender_relayhost.db file, dated 2016 (see above).
If it does list "sender_relayhost", I can't explain why a new database was not created during the upgrade. Maybe check your upgrade log, maybe it was some permissions issue.
It was not listed in POSTFIX_MAP_LIST in /etc/sysconfig/postfix
That is unrelated, the postinstall script doesn't care about that setting, it tries to create new lmdb databases for all existing ones. -- Per Jessen, Zürich (18.6°C) Member, openSUSE Heroes (2016 - present) We're hiring - https://en.opensuse.org/openSUSE:Heroes
On 2023-05-03 12:31, Per Jessen wrote:
Carlos E. R. wrote:
On 2023-05-03 12:17, Per Jessen wrote:
Carlos E. R. wrote:
Suddenly, without my asking for it, my postfix has changed to want lmdb files instead (probably during the upgrade to Leap 15.4): Apparently, many lmdb files have been generated automatically:
I think it happened in Leap 15.3. Normally your postfix database files should have been automatically created in lmdb format.
Why?
I would have to look up the details, but I wonder if it might have been a licensing issue.
What is going on?
If you wish to retain the Berkeley DB format as the default in postfix, you can simply install postfix-bdb.
No, lmdb is fine, if that's what they want.
It is entirely up to you, "they" don't count :-) I have switched a number of systems back to bdb, so I wouldn't have to worry about having different database formats.
Going back means editing main.cf again.
The question is, as it is apparently generating all the lmdb files automatically, how do I tell it to also generate automatically.
There is some reason why it was skipped or overlooked, I would check out the migration script.
Ok, trying to explain again. Is there something that is creating and updating the lmdb files each time I update the text file? If yes, what is it? so that I can tell it to also do "sender_relayhost.lmdb" Or was this a one time run of "something" that did the conversion silently when I upgraded Leap, and from that point on, I am on my own and have to do my own conversions? (which is fine, I have my own conversion method) Oh, and this is not in the release notes: https://doc.opensuse.org/release-notes/x86_64/openSUSE/Leap/15.4/ -- Cheers / Saludos, Carlos E. R. (from 15.4 x86_64 at Telcontar)
Carlos E. R. wrote:
On 2023-05-03 12:31, Per Jessen wrote:
No, lmdb is fine, if that's what they want.
It is entirely up to you, "they" don't count :-) I have switched a number of systems back to bdb, so I wouldn't have to worry about having different database formats.
Going back means editing main.cf again.
You just install "postfix-bdb" and it is all done for you.
Is there something that is creating and updating the lmdb files each time I update the text file?
No and there never has been. Postfix will warn you when a database file is older than the source.
Or was this a one time run of "something" that did the conversion silently when I upgraded Leap,
Yes, it is a postinstall script in 'postfix' (the package).
and from that point on, I am on my own and have to do my own conversions?
No, you just carry on using "postmap" as you always have. -- Per Jessen, Zürich (13.9°C) Member, openSUSE Heroes (2016 - present) We're hiring - https://en.opensuse.org/openSUSE:Heroes
On 2023-05-03 12:59, Per Jessen wrote:
Carlos E. R. wrote:
On 2023-05-03 12:31, Per Jessen wrote:
No, lmdb is fine, if that's what they want.
It is entirely up to you, "they" don't count :-) I have switched a number of systems back to bdb, so I wouldn't have to worry about having different database formats.
Going back means editing main.cf again.
You just install "postfix-bdb" and it is all done for you.
But the main.cf file lists lmdb entries: Isengard:/etc/postfix # postconf -p | grep lmdb address_verify_map = lmdb:$data_directory/verify_cache alias_database = lmdb:/etc/aliases alias_maps = lmdb:/etc/aliases canonical_maps = lmdb:/etc/postfix/canonical default_database_type = lmdb lmdb_map_size = 16777216 postscreen_cache_map = lmdb:$data_directory/postscreen_cache relay_domains = $mydestination, lmdb:/etc/postfix/relay relocated_maps = lmdb:/etc/postfix/relocated sender_canonical_maps = lmdb:/etc/postfix/sender_canonical sender_dependent_relayhost_maps = lmdb:/etc/postfix/sender_relayhost smtp_sasl_password_maps = lmdb:/etc/postfix/sasl_passwd smtpd_sender_restrictions = lmdb:/etc/postfix/access transport_maps = lmdb:/etc/postfix/transport virtual_alias_domains = lmdb:/etc/postfix/virtual virtual_alias_maps = lmdb:/etc/postfix/virtual Isengard:/etc/postfix # I would have to change all those, and then on the next upgrade they could be changed again. lmdb is fine, I don't care which is used. I just want to be told of these changes. Hum: There is an automatic script: <https://bugzilla.opensuse.org/show_bug.cgi?id=1197041> Bug 1197041 - Postfix on start don't run postalias /etc/postfix/aliases (error open database /etc/postfix/aliases.lmdb). «Arjen de Korte 2022-03-14 18:58:00 UTC This is easily fixed by adding 'aliases' to the POSTFIX_MAP_LIST in /etc/sysconfig/postfix, which is intended to keep the maps in /etc/postfix updated. No need to change the script and make this change unconditional.» (script /usr/lib/postfix/systemd/update_postmaps) That config contains: POSTFIX_MAP_LIST="virtual transport access canonical sender_canonical relocated sasl_passwd:600 relay_ccerts relay" As that script lives in a systemd directory there is probably some service that uses this somewhere.
Is there something that is creating and updating the lmdb files each time I update the text file?
No and there never has been. Postfix will warn you when a database file is older than the source.
Ok, good. [...] No, see above (written later than this "good").
Or was this a one time run of "something" that did the conversion silently when I upgraded Leap,
Yes, it is a postinstall script in 'postfix' (the package).
Should be in the release notes. Creating a bugzilla. [...] Done. <https://bugzilla.opensuse.org/show_bug.cgi?id=1211053> Bug 1211053 - Release notes for 15.4 do not mention that postfix has changed to lmdb (edit)
and from that point on, I am on my own and have to do my own conversions?
No, you just carry on using "postmap" as you always have.
Ok, I just updated my Makefile to generate them all when needed as lmdb. -- Cheers / Saludos, Carlos E. R. (from 15.4 x86_64 at Telcontar)
Carlos E. R. wrote:
On 2023-05-03 12:59, Per Jessen wrote:
Carlos E. R. wrote:
On 2023-05-03 12:31, Per Jessen wrote:
No, lmdb is fine, if that's what they want.
It is entirely up to you, "they" don't count :-) I have switched a number of systems back to bdb, so I wouldn't have to worry about having different database formats.
Going back means editing main.cf again.
You just install "postfix-bdb" and it is all done for you.
But the main.cf file lists lmdb entries: I would have to change all those,
No, postfix-bdb has a post-install script that does that for you.
and then on the next upgrade they could be changed again.
No, packages are not changed on upgrade. On upgrade, your "postfix-bdb" package might be upgraded, but not changed to "postfix".
Is there something that is creating and updating the lmdb files each time I update the text file?
No and there never has been. Postfix will warn you when a database file is older than the source.
No, see above (written later than this "good").
It is only being done to a limited set of databases, when postfix is restarted, provided you have it enabled in /etc/sysconfig/postfix. The list is also specified there. -- Per Jessen, Zürich (17.2°C) Member, openSUSE Heroes (2016 - present) We're hiring - https://en.opensuse.org/openSUSE:Heroes
participants (2)
-
Carlos E. R.
-
Per Jessen