Úvod
Pokud potřebujete ukládat číselné hodnoty s velkým počtem desetinných míst, musíte se ujistit, že pro tuto úlohu používáte správný datový typ. PostgreSQL poskytuje pro tento druh číselných dat datový typ DOUBLE PRECISION – tento datový typ nabízí 8 bajtů paměti a může obsahovat až 15 desetinných čísel. V tomto článku probereme datový typ PostgreSQL DOUBLE PRECISION a ukážeme si, jak tento datový typ používat v dotazech a při operacích vkládání. 
Předpoklady
Abyste mohli postupovat podle příkladů v tomto kurzu, musíte mít nainstalovaný a spuštěný systém PostgreSQL. Pomocí příkazu psql -V v terminálu můžete potvrdit, že je PostgreSQL nainstalován, a zobrazit číslo jeho verze. Než přejdete k DOUBLE PRECISION příkladům dotazů v další části tohoto tutoriálu, ujistěte se, že instalace Postgresu funguje.
Otevřete konzolu příkazového řádku psql
Začněme otevřením interaktivního prostředí pro PostgreSQL. Použijeme níže uvedený příkaz:
| 
 1 
 | 
  sudo -u postgres psql 
 | 
Tento příkaz nám poskytne přístupová práva superuživatele postgres.
Typ PostgreSQL DOUBLE PRECISION
Typ PostgreSQL DOUBLE PRECISION je číselný datový typ; je znám také pod alternativním názvem float8. Hodnoty s dvojnásobnou přesností jsou v PostgreSQL považovány za hodnoty s pohyblivou řádovou čárkou. To znamená, že pokud se pokusíte uložit hodnotu s „příliš mnoha“ desetinnými číslicemi, dojde k určitému zaokrouhlení; například pokud byste se pokusili uložit výsledek 2/3, došlo by při dosažení patnácté číslice k určitému zaokrouhlení. Ve většině případů nemá tato aproximace žádný skutečný důsledek, ale mohou nastat okolnosti, kdy je vyžadována absolutní přesnost a datový typ NUMERIC je lepší volbou.
| DATOVÝ TYP | POPIS | Rozsah | 
|---|---|---|
| dvojnásobná přesnost, float, float8 | decimální, numerická data s plovoucí desetinnou čárkou, celočíselné hodnoty | přesnost 15 desetinných míst | 
Vytvoření databáze a tabulky v PostgreSQL
V této části vytvoříme tabulku a s datovým typem DOUBLE PRECISION. Než tak učiníme, budeme muset vytvořit databázi v PostgreSQL. Použijeme níže uvedený příkaz:
| 
 1 
 | 
  CREATE DATABASE some_db; 
 | 
POZNÁMKA: Klidně použijte název databáze podle svého výběru.
- 
Příkazem
\lzobrazíte seznam všech databází, které existují ve vašem databázovém clusteru PostgreSQL. - 
Příkazem
\cse připojíte ke konkrétní databázi. 
Po vytvoření databáze v ní můžete vytvořit tabulku.
Syntaxe pro vytvoření tabulky je uvedena níže:
| 
 1 
2 3  | 
  CREATE TABLE TABLE_NAME( 
COL1 + DATA_TYPE + CONSTRAINT , COL2 + DATA_TYPE + CONSTRAINT );  | 
Tady je příkaz SQL, který použijeme k vytvoření naší tabulky:
| 
 1 
2 3 4 5 6 7  | 
  CREATE TABLE demo( 
id SERIAL PRIMARY KEY, str_col VARCHAR(100), int_col INT NOT NULL, boolean_col BOOL, float_col DOUBLE PRECISION );  | 
Pro zobrazení informací o tabulce stačí použít příkaz \d demo;. Výstup tohoto příkazu bude vypadat takto:
| 
 1 
2 3 4 5 6 7 8 9 10  | 
  Tabulka „public.demo“ 
Sloupec | Typ | Collation | Nullable | Default ————-+————————+———–+———-+———————————- id | integer | | not null | nextval(‚demo_id_seq‘: str_col | character varying(100) | | | int_col | integer | not null | boolean_col | boolean | | | | float_col | double precision | | | Indexes: „demo_pkey“ PRIMARY KEY, btree (id)  | 
Vložíme některé hodnoty do sloupce DOUBLE PRECISION
Můžeme použít příkaz INSERT pro vložení dat do našeho sloupce DOUBLE PRECISION i do ostatních sloupců tabulky:
| 
 1 
2 3 4  | 
  INSERT INTO demo (str_col, int_col, boolean_col, float_col) 
VALUES(‚ObjectRocket‘, 1234, TRUE, 09673143120), (‚Examples‘, 6688, FALSE, 09057046055), (‚Tutorials‘, 9678, TRUE, 09129158355);  | 
Pro zobrazení hodnot v float_column použijte jednoduchý příkaz SELECT uvedený níže:
| 
 1 
 | 
  SELECT id, float_col FROM demo; 
 | 
Výstup bude vypadat následovně:
| 
 1 
2 3 4 5  | 
  id | float_col  
—-+———— 1 | 9673143120 2 | 9057046055 3 | 9129158355  | 
Závěr
Pokud plánujete ukládat číselné hodnoty, které vyžadují určitou přesnost nebo délku, může být datový typ DOUBLE PRECISION tou správnou volbou pro vaše potřeby. V tomto článku jsme se seznámili s typem PostgreSQL DOUBLE PRECISION a prošli jsme několik příkladů vkládání a načítání dat tohoto typu. Díky těmto příkladům, které vám poslouží jako vodítko, budete připraveni používat datový typ DOUBLE PRECISION ve své vlastní databázi PostgreSQL.