Catégorie : Postgresql
-
[Postgres] Identifier les privilèges
SELECT * FROM information_schema.role_table_grants WHERE grantee = ‘<role_name>’;
-
[Postgres] Identifier les attentes
This query allows you to identify the wait events on which query . How to Find and Stop Running Queries on PostgreSQL Find a query with his pid. This query […]
-
[Postgres] PG_PARTMAN
pg_partman v4 vs pg_partman v5 Une fonction diffère. Conséquence la version 5 va gérer nativement la rotation des partitions et pas la 4 voici la fonction : create function check_partition_type(p_type […]
-
[Postgres] Extensions
Extensions en prd indispensables : shared_preload_libraries = ‘anon,datasentinel,pgaudit,pg_cron,pglogical,pg_store_plans,system_stats,pg_stat_statements,pg_buffercache’
-
[Postgres] Monitor cloud DB (AZURE / IBM)
Quand on n’a pas d’outils pour faire le monitoring des bases PostgreSQL hébergées dans le cloud (IBM ou AZURE…) voici quelques requêtes , vue, fonction SQl utiles pour interroger la […]
-
[Postgres] Locker une base
On ne peut pas locker une base nativement alors comment peut -on le faire ? C’est simple, l’astuce consiste à limiter le nombre de connexion à la base. ALTER […]
-
[Postgres] LWLock
C’est quoi ces locks. Quand on tape dans la vue pg_locks on ne les voit pas … requete à lancer pour détecter les LWLock : SELECT pid, wait_event_type, wait_event FROM […]
-
[Postgres] Mettre à jour les séquences
Script pour mettre à jour les séquences. Indispensable pour la réplication logique. #!/bin/sh cat /dev/null > update_sequence_DB.sqlfor sequname in $(psql DB -t -c « select sequence_name as _sequence from […]
-
[Postgres] Compter les lignes de plusieurs tables
Petit bout de code bien pratique pour compter les lignes. for tablename in $(psql v14 -t -c « select table_name as _table from information_schema.tables t where t.table_schema=’v14′ order by _table asc »); do echo $tablename psql […]
-
[PostgreSQL]Un peu plus sur les analyze
Analyser toutes les tables pour un schéma donné CREATE OR REPLACE FUNCTION analyze_table(schema_name TEXT)RETURNS VOID AS$$DECLARE table_record RECORD;BEGIN FOR table_record IN SELECT tablename […]
