Accueil

PostGreSQL - Rechercher une valeur dans toutes les tables

Wakonda - PostgreSQL

Posté le 1er novembre 2019


Je vous présente ici une fonction PostGreSQL permettant de rechercher une valeur donnée dans l'ensemble des champs de toutes les tables d'une base de données.

Fonction :

CREATE OR REPLACE FUNCTION search_whole_db(_like_pattern text)
  RETURNS TABLE(_tbl regclass, _ctid tid) AS
$func$
BEGIN
   FOR _tbl IN
      SELECT c.oid::regclass
      FROM   pg_class c
      JOIN   pg_namespace n ON n.oid = relnamespace
      WHERE  c.relkind = 'r'                           -- only tables
      AND    n.nspname !~ '^(pg_|information_schema)'  -- exclude system schemas
      ORDER BY n.nspname, c.relname
   LOOP
      RETURN QUERY EXECUTE format(
         'SELECT $1, ctid FROM %s t WHERE t::text ~~ %L'
       , _tbl, '%' || _like_pattern || '%')
      USING _tbl;
   END LOOP;
END
$func$  LANGUAGE plpgsql;

Utilisation :

SELECT * FROM search_whole_db('mypattern');

 

Lire ...

PostGreSQL - Supprimer des doublons

Wakonda - PostgreSQL

Posté le 1er novembre 2019


Voici une requête qui vous permettra de supprimer les doublons dans une base de données PostGresSQL :

DELETE FROM dups a USING (
      SELECT MIN(ctid) as ctid, key
        FROM dups 
        GROUP BY key HAVING COUNT(*) > 1
      ) b
      WHERE a.key = b.key 
      AND a.ctid <> b.ctid

 

Lire ...

Regex - Supprimer les espaces entre les balises HTML

Wakonda - PHP

Posté le 1er novembre 2019


L'expression régulière qui suit permet de supprimer l'ensemble des espaces blancs entre deux balise HTML.

$html = preg_replace('/(\>)\s*(\<)/m', '$1$2', $html);

 

Lire ...

Rechercher

Tags

Publicité

Suivez-nous