Postgresql unique history
psql has a variable called HISTCONTROL. Quoting the manual:


  HISTCONTROL
  
  If this variable is set to ignorespace, lines which begin with a space are not entered into the history list. If set to a value of
  ignoredups, lines matching the previous history line are not entered.
  A value of ignoreboth combines the two options. If unset, or if set to
  any other value than those above, all lines read in interactive mode
  are saved on the history list.


I have this configured to automatically take effect on psql startup by adding the line

\set HISTCONTROL ignoredups


to my .psqlrc.