Accueil - PostgreSQL

Tout afficher

PostGreSQL - Redémarrer une séquence

Tags: PostgreSQL

Posté le 21 mai 2019


Dans une table PostGreSQL, lorsque vous définissez un champ "id" qui se trouve être une clé primaire en auto incrémente, cette valeur va automatiquement s'incrémenter à chaque fois que vous enregistrerez un nouvel élément dans la table.

Pour que cette opération soit possible, PostGreSQL va enregistrer le dernier "id" dans une séquence. Pour afficher l'ensemble des séquences de votre base de données, vous pouvez utiliser la requête SQL suivante :

SELECT c.relname FROM pg_class c WHERE c.relkind = 'S';

 Pour afficher le dernier numéro utilisé dans une séquence :

SELECT last_value FROM nom_de_la_sequence;

Pour réinitialiser la séquence, on utilisera cette requête :

ALTER SEQUENCE nom_de_la_sequence RESTART 100;

Après avoir lancé cette requête, le prochain enregistrement dans votre table aura pour "id", le nombre "100".

Lire ...

PostGreSQL – Supprimer toutes tables d'une base

Tags: PostgreSQL

Posté le 4 septembre 2018


Jvq20180904210142394 postgres remove tables sept2018

Avec PostGresSQL, deux simples requêtes suffisent à supprimer toutes les tables d'une base de données sans qu'il n'y ait d'erreur. Bien évidemment, il faudra les utiliser avec précaution et en toute connaissance de cause !

drop schema public cascade;
create schema public;

 

Lire ...

PostGreSQL – Tester une requête SQL avant de l’appliquer

Tags: PostgreSQL, SQL

Posté le 30 août 2018


Gtx20180830200839757 postgres transaction

Avant de lancer une requête SQL pour ajouter, supprimer, ou mettre à jour des données dans une base, il peut être utile de la tester afin d’éviter au maximum les désagréments qui pourraient survenir.

Pour ce faire, PostGresSQL nous fournit un mécanisme connut sous le nom de Transaction.

Dans l’exemple ci-dessous, on enveloppe une requête de suppression « DELETE » entre les mots-clés « BEGIN » et « ROLLBACK ». La requête de suppression va s’exécuter sans altérer la base de données. On peut ainsi mesurer les conséquences de la requête sur nos données :

BEGIN;

DELETE FROM article WHERE is_active = false;

SELECT title FROM article WHERE is_active = false;

ROLLBACK;

SELECT title FROM article WHERE is_active = false;

 

Lire ...

Rechercher

Tags

Publicité

Suivez-nous