> However, it would be the very same > database state that any other query would see at that time. Other queries can use different techniques to prevent this. For example, lock tables before snapshot, as recommended in documentation. I understand, that pg_dump can not use that, as it need snapshot to enumerate tables to lock. > then you brought > that on your own head by using TRUNCATE concurrently with other > operations. People, who admins database servers, are not always the same people, who write application/queries. That means, if you know nothing about application, you can not guarantee, if live database backup would be consistent. Basically, you need application cooperation to make consistent live database backup.