You're planning to run this database for several millenia then?
INT8 is 8 bytes, thats 2568 = 18446744073709551616 values.
A millennium has 1000365246060 = 31536000000 seconds, so you need to insert
18446744073709551616 / 31536000000 = 584942417 (584 Million) records per second to fill this database in 1000 years.
an Int4 is 2564 = 4294967296 values.
You can just fill that if you do 100 inserts per second for one year straight. A more realistical 10 inserts/sec gives you 10 years worth of inserts.
"OR do subsequent transactions exit early with an error"
All locks cause other queries to wait unless you specify that you want your query to abort when it encounters a lock. You woulnd't get very far in databases if all queries aborted by default. :-)
"Also is the locked record released at the end of the transaction in which it is created, when the locked record is updated, or some other time?"
The manual is not very clear, I suggest you try that out using the commandline :-)