Package postgres holds the two server-level statements the rest of the code needs and ent cannot
express: the transaction-scoped advisory lock and the server version. Each is written here once;
callers pass any client that runs a statement (*sql.DB, *sql.Tx, *ent.Client, *ent.Tx).
LockTx takes the advisory lock key and holds it to the end of the surrounding transaction. Use it
to make a value taken inside the transaction commit in the order it was taken.