Michał-c!
Punkty a)-d) są spełnione.
Tabela miasta została utworzona:
CREATE TABLE miasta
(
  miasta_id integer NOT NULL,
  nazwa_m character varying(45) NOT NULL,
  dlug_geogr double precision,
  szer_geogr double precision,
  CONSTRAINT miasta_pkey PRIMARY KEY (miasta_id)
)
WITH (
  OIDS=FALSE,
  autovacuum_enabled=true
);
ALTER TABLE miasta
  OWNER TO "Michał Kuptel";
GRANT ALL ON TABLE miasta TO "Michał Kuptel";
GRANT ALL ON TABLE miasta TO public;
GRANT SELECT(nazwa_m), UPDATE(nazwa_m), INSERT(nazwa_m), REFERENCES(nazwa_m) ON miasta TO public;
CREATE UNIQUE INDEX nazwa_m
  ON miasta
  USING btree
  (nazwa_m COLLATE pg_catalog."default" NULLS FIRST);
Z poziomu programu "okienkowego", który piszę udało mi się do tej tabeli zapisać
rekordy. Niestety funkcją importuj pgAdmin3-a nie: 
"Błąd nieprawidłowa składnia wejścia dla integer: "INSER INTO.."
przykładowa zawartość  pliku test.sql:
INSERT INTO miasta (miasta_id, nazwa_m, dlug_geogr, szer_geogr)
    VALUES (    1, 'Aleksandrów-Kujawski', 19.9833, 51.2667);
Pozdr