PostgreSQL surrogate keys: use sequence/bigint or OID? I'm looking at a need for surrogate keys in tables I'm designing on a PostgreSQL-derived DBMS (Citus). Would OIDs suffice? Is there a downside to using them instead of creating a bigint field and a sequence?
There are a couple of misunderstandings floating around here.

OIDs were included with every row by default in very old versions of Postgres. The default was soon changed to not include OID columns in user-defined tables.

Quoting the Postgres 8.1 documentation:


  default_with_oids (boolean)
  
  This controls whether CREATE TABLE and CREATE TABLE AS include an OID
  column in newly-created tables, if neither WITH OIDS nor WITHOUT OIDS
  is specified. It also determines whether OIDs will be included in
  tables created by SELECT INTO. In PostgreSQL 8.1 default_with_oids is
  disabled by default; in prior versions of PostgreSQL, it was on by default.


Bold emphasis mine. What @Shire quoted is related, but OIDs are not even considered for a PK in modern Postgres.

The obvious reason why @a_horse (correctly) suggested bigserial (and not just serial) is in the question:


  Is there a downside to using them instead of creating a bigint field and a sequence?


Bold emphasis mine again. Typically, a serial column (implemented with a 4-byte integer) is good enough for most tables - unless you expect more than 2 billion (2^31 - 1 = 2.147.483.647) rows over the lifetime of the table.