PostgreSQL

De Wiki de Geonov

PostgreSQL est un logiciel informatique.

C'est un système de gestion de base de données relationnelle et objet (SGBDRO) open source.

1 SQL

1.1 Copier une table

CREATE TABLE schema.nouvelle_table AS TABLE schema.table_existante;

1.2 Les types de données

Il existe de nombreux types de données pour définir le contenu d'une colonne : https://docs.postgresql.fr/13/datatype.html

En voici quelques-uns :

1.2.1 Caractères

  • char(x) : taille fixe, exactement de x caractères
  • varchar(x) : taille variable, maximum de x caractères
  • text : taille variable, sans maximum (recommandé)

1.2.2 Numériques entiers non signés

Note : 1 octet = 8 bits. 1 bit peut avoir 2 valeurs.

  • int2 (ou smallint) : entiers sur 2 octets (2^16 valeurs = 65 536), de -32768 à +32767
  • int4 (ou integer) : entiers sur 4 octets (2^32 valeurs = 4 294 967 296), de -2147483648 à +2147483647
  • int8 (ou bigint) : entiers sur 8 octets (2^64 valeurs = 18 446 744 073 709 551 616), de -9223372036854775808 à +9223372036854775807

1.2.3 Numériques à précision arbitraire

  • numeric(précision, échelle) (ou decimal) : nombres exacts, "précision" est le nombre de chiffres en tout, "échelle" est le nombre de chiffres après le séparateur. Jusqu'à 131 072 chiffres avant le séparateur et jusqu'à 16 383 chiffres après le séparateur.

Les valeurs stockées sont exactes, mais plus lentes à manipuler.

1.2.4 Numériques à virgule flottante

  • real (ou float(1) à float(24)) : 4 octets, précision de 6 décimales
  • double (ou float(25) à float(53)) : 8 octets, précision de 15 décimales

Les valeurs stockées sont inexactes (approchées).

2 Administration

2.1 Tuer les sessions connectées à une base de données

SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'nom_bdd' AND pid <> pg_backend_pid();