Personally, understanding how the engines usually work under the hood [0], I'd keep an integral PK, and have a `UNIQUE` external ID field.
[0] Having a string for a primary key will typically make there be a hidden integer primary key; better to have it explicit than implicit.