En el siguiente código como ejemplo se supone que se quiere mostrar la información del cliente en el Combo y el valor identificador se guardará en la tabla de Factura:
OleDbDataAdapter adaptador = new OleDbDataAdapter("SELECT * FROM Cliente", cnnPostgres);
DataTable tabla = new DataTable("Cliente");
adaptador.Fill(tabla);
DataGridViewComboBoxColumn columnaCombo = new DataGridViewComboBoxColumn();
columnaCombo.DataSource = tabla;
columnaCombo.ValueMember = "Cliente_Id";
columnaCombo.DisplayMember = "Nombre";
columnaCombo.DataPropertyName = "Cliente_Id"; /* Aquí va el campo id del cliente cómo se tenga en la tabla de Factura*/
adaptador = new OleDbDataAdapter("SELECT * FROM Factura", cnnPostgres);
tabla = new DataTable("Factura");
adaptador.Fill(tabla);
dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = tabla;
dataGridView1.Columns.Add(columnaCombo);
Con esto me supongo que si pueden establecer la conexión a Postgres.
Espero y esto te ayude.
Saludos.