Un outil que Micro$oft a décidé de masquer alors qu’il marchait très bien sous Windows 98.
RunAs /user:admin "control userpasswords2"
Un outil que Micro$oft a décidé de masquer alors qu’il marchait très bien sous Windows 98.
RunAs /user:admin "control userpasswords2"
Dans un précédent article, j’expliquais la démarche globale pour avoir un installeur minimaliste fonctionnel. Maintenant il est temps de peaufiner.
Continuer la lecture
Ça faisait un petit moment que je voulais séparer mes activités pro et perso. J’ai maintenant deux noms de domaine distincts : thefreecat.org pour tout ce qui est pro et gosane.fr pour ce que je fais en dehors.
Ce nom fait référence aux ouvrages de science fiction Le cycle du Ā d’A.E. Van Vogt.
Comment mettre en place un affichage Master/Detail avec les cxGrid et la liaison entre les tables faite en SQL
J’ai depuis longtemps un avis très tranché sur la question que je n’ai jamais pris le temps d’organiser dans un écrit. Mais cet horrible article est le troll de trop.
Petit aide-mémoire pour mettre en place ce qu’il faut pour travailler en SSL avec PostgreSQL.
Un petit guide rapide en forme d’aide-mémoire pour mettre en place une CA (Autorité de Certification) ou PKI (Private Key Infrastructure)
Une méthode un peu bourrine mais qui marche.
\t\a
\o /tmp/hack.sql
select 'ALTER '
||CASE WHEN relkind='r' THEN 'TABLE' WHEN relkind='S' THEN 'SEQUENCE' WHEN relkind='v' THEN 'VIEW' END ||' '||relname||' OWNER TO newuser;'
from pg_class c
join pg_namespace ns ON ns.oid=c.relnamespace
where relkind in ('r','S','v')
and ns.nspname='public'
ORDER BY CASE WHEN relkind='r' THEN 1 ELSE 2 END;
\o
\i /tmp/hack.sql
Pour remplacer postgres par newuser comme propriétaire de toutes les fonctions “possédées” par postgres :
\t\a
\o /tmp/hack.sql
SELECT 'ALTER FUNCTION '
|| format('%I.%I(%s)', n.nspname, p.proname, oidvectortypes(p.proargtypes))
||' OWNER TO newuser;'
FROM pg_catalog.pg_proc p
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
WHERE pg_catalog.pg_function_is_visible(p.oid)
AND n.nspname NOT IN ('pg_catalog','information_schema')
AND pg_catalog.pg_get_userbyid(p.proowner)='postgres';
\o
\i /tmp/hack.sql
Enjoy !
Je ne suis vraiment pas doué avec UTF8 et Perl. Un coup ça marche, un coup non… Des années que je perds des heures à essayer des trucs différents.
Là j’ai un résultat qui a l’air de marcher, jusqu’à la prochaine fois :
#!/usr/bin/perl -w
use DBI;
use Encode;
use utf8;
use open ':utf8';
binmode STDOUT, ":utf8";
my $dbh = DBI->connect("DBI:Pg:dbname=madb;host=localhost","monuser","motdepasse") ;
$dbh->prepare("SET NAMES 'utf8'")->execute;
$dbh->{pg_enable_utf8}=1;
Sinon, un truc idiot pour être sûr qu’on produit bien de l’UTF8 :
perl monscript.pl >x && file x
x: UTF-8 Unicode text
Un truc à ne pas oublier (issu de la bible) :
When you encode, the resulting UTF8 flag is always off.
When you decode, the resulting UTF8 flag is on–unless you can unambiguously represent data.