Thread: Concurrent CREATE USER MAPPING and DROP SERVER
SGVsbG8uCgpJIHRoaW5rIEkgbWF5IGhhdmUgZm91bmQgYSBidWcgaW4gdGhlIENSRUFURSBVU0VS IE1BUFBJTkcgLyBEUk9QIFNFUlZFUiAKaGFuZGxpbmcuCgpJdCBpcyBwb3NzaWJsZSB0byBjcmVh dGUgYSB1c2VyIG1hcHBpbmcgb24gYSBzZXJ2ZXIgYW5kIGRyb3Agc2FpZCBzZXJ2ZXIgaW4gCnR3 byBjb25jdXJyZW50IHRyYW5zYWN0aW9ucywgYW5kIGhhdmUgYm90aCBzdWNjZWVkLgoKVGhpcyBy ZXN1bHRzIGluIGFuIG9ycGhhbiByb3cgaW4gdGhlIHBnX3VzZXJfbWFwcGluZyB0YWJsZS4KCkkg d291bGQgZXhwZWN0IG9uZSBvZiB0aG9zZSB0cmFuc2FjdGlvbnMgdG8gZmFpbC4KClRoaXMgaXMg bW9yZSBlYXNpbHkgZXhwbGFpbmVkIHdpdGggdGhlIGZvbGxvd2luZyBleGFtcGxlOgoKQ1JFQVRF IGV4dGVuc2lvbiBwb3N0Z3Jlc19mZHc7CgpDUkVBVEUgc2VydmVyIHBnX3NlcnZlciBGT1JFSUdO IERBVEEgV1JBUFBFUiBwb3N0Z3Jlc19mZHcKCi0tIFNFU1NJT04gMQpCRUdJTjsKQ1JFQVRFIFVT RVIgTUFQUElORyBGT1IgcG9zdGdyZXMgU0VSVkVSIHBnX3NlcnZlciBPUFRJT05TICh1c2VyICd1 c2VyJyk7CgotLSBTRVNTSU9OIDIKQkVHSU47CkRST1AgU0VSVkVSIHBnX3NlcnZlcjsKCi0tIFNF U1NJT04gMQpDT01NSVQ7CgotLSBTRVNTSU9OIDIKQ09NTUlUOwoKc2VsZWN0IHVtc2VydmVyLCBz Lm9pZCBmcm9tIHBnX3VzZXJfbWFwcGluZyBsZWZ0IGpvaW4gcGdfZm9yZWlnbl9zZXJ2ZXIgcyBv biAKcy5vaWQgPSBwZ191c2VyX21hcHBpbmcudW1zZXJ2ZXI7CgrilIzilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilJAK4pSCIHVtc2VydmVyICDilIIgb2lk ICAg4pSCCuKUnOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKU gOKUpArilII2MjE3MiAgICAJICAg4pSCICDCpCAgICAg4pSCCuKUlOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUmA==
Ronan Dunklau <rdunklau@gmail.com> writes: > It is possible to create a user mapping on a server and drop said server in > two concurrent transactions, and have both succeed. There are lots of hazards of this sort, since we generally don't try to lock database objects other than tables when doing DDL. I can't get particularly excited about this one compared to the rest. We could try to extend the table-locking protocols to apply to all object types ... but from here, the amount of work and complexity involved seems far out of proportion to the benefit. regards, tom lane