Chave primária:

A chave primária, ou Primary key (PK) é o identificador único de um registro na tabela. Pode ser constituída de uma coluna (chave simples) ou pela combinação de dois ou mais colunas (chave composta), de tal maneira que não existam dois registros com o mesmo valor de chave primária.

A constraint Primary Key (chave primaria), não permite valores nulos e impõe a exclusividade de linhas.

(O principal objetivo da primary key é nos ajudar a selecionar as rows do banco de dados de forma mais simples, por exemplo, para pegar o planeta X, basta fazer um WHERE pelo ID dele)

  1. Vamos adicionar uma chave primária na nossa tabela existente rodando:
ALTER TABLE planets ADD COLUMN ID SERIAL PRIMARY KEY;
  1. Veja a estrutura da tabela rodando:
\\d planet
  1. Veja como o id foi inserido em todos as rows (linhas) rodando:
SELECT * FROM planets;
  1. Vamos apagar a tabela para ver como inserir o id desde o inicio, rode:
DROP TABLE planets;
  1. Crie novamente a tabela (agora com o id), rodando:
CREATE TABLE planets (
  id SERIAL PRIMARY KEY,
  name VARCHAR (50) NOT NULL,
  star_name VARCHAR (50) NOT NULL,
  code VARCHAR (20) UNIQUE NOT NULL,
  discovery_date DATE,
  satellites INT,
  has_life BOOLEAN
);
  1. insira alguns dados:
INSERT INTO planets (name, star_name, code, discovery_date, satellites, has_life)
    VALUES ('X45', 'Rimuru', 'SDF54FD8SX', '1961-06-16', 10, true);

INSERT INTO planets (name, star_name, code, discovery_date, satellites, has_life)
    VALUES ('Marte', 'Sol', 'SDSD767', '1672-06-16', 2, false);

INSERT INTO planets (name, star_name, code, discovery_date, satellites, has_life)
    VALUES ('Saturno', 'Sol', 'VSD8SD', '1610-06-16', 82, false);
  1. Verifique a presença do id selecionando tudo: