Vous n'êtes pas identifié(e).
Bonjour,
Talend offre des formations sur son ETL Talend Open Studio. Nous avons eu une formation de 3 jours + 2 jours de prestations sur un projet. Voir le site de Talend.
Pour le timestamp, il n'y a pas trop de choix: timestamp. Mais à mon boulot, les gens avaient tendance à utiliser du char/varchar pour stocker des dates, je n'ai jamais trop su pourquoi...
Attention toutefois à la précision, si elle est importante.
Pour représenter des valeurs entières, il vaut mieux utiliser un type adapté, donc smallint, integer ou bigint en fonction des besoins. En plus, smallint occupera moins d'espace disque.
En tout cas, dans votre cas, je prendrai plutôt un smallint.
Enfin pour citer la documentation, brillamment traduite par Guillaume Lelarge :
Le type numeric peut stocker des nombres contenant jusqu'à 1000 chiffres significatifs et effectuer des calculs exacts. Il est spécialement recommandé pour stocker les montants financiers et autres quantités pour lesquelles l'exactitude est indispensable. Néanmoins, l'arithmétique sur les valeurs numeric est très lente comparée aux types entiers ou aux types à virgule flottante décrits dans la section suivante.
Un billet de Jean-Paul Argudo m'a fait me précipiter chez mon libraire favori pour lui passer commande du nouveau livre sur PostgreSQL: "Entraînez-vous à créer et programmer une base de données relationnelle", aux éditions ENI.
Ecrit par François-Marie Colonna, ce nouvel ouvrage s'adresse à des personnes voulant mettre le pied à l'étrier avec PostgreSQL. Il est avant tout orienté vers l'apprentissage par la pratique, d'ailleurs il est disponible dans la collection "Les TP informatiques" de l'éditeur et ne se veut pas être un ouvrage de cours. Tous les chapitres permettent d'aborder de façon progressive tous les aspects de la programmation avec PostgreSQL, du simple SELECT * FROM table jusqu'aux accès simultanées, en passant par la programmation en langage procédural.
Les chapitres sont articulés en deux parties. La première partie est un QCM qui permet de tester ses connaissances, avant d'entamer la seconde partie qui propose de réaliser différents exercices pour mettre en oeuvre ces connaissances (nouvellement acquises ?). Les corrigés des QCMs et des exercices sont disponibles en fin d'ouvrage et occupent bien la moitié du livre, les explications y sont claires et précises.
J'avoue que c'est le livre que j'aurai aimé avoir quand j'ai abordé le monde des bases de données voici 6-7 ans. L'approche est très pragmatique et une bonne connaissance de PostgreSQL est nécessaire si l'on veut répondre correctement aux questions, ce qui implique de lire la documentation quand on débute, ou d'avoir déjà de bonnes connaissances des bases de données et de SQL. Malgré tout, la difficulté n'est pas extrême, on commence par quelques requêtes simples, pour aborder les jointures, les mises à jour, les vues, les règles, etc. Le programme est vraiment très complet, mais il manque peut-être certains aspects d'administration de base qu'il est bon de connaître quand on utilise PostgreSQL.
Bonjour,
Je suis à la recherche d'un emploi, idéalement dans l'agglomération lilloise, dans le domaine de l'administration de bases de données PostgreSQL et Oracle.
Merci de me contacter sur mon adresse e-mail personnelle (frosties [at] frosties [dot] org) ou par message privé sur le forum. Mon CV est bien entendu disponible sur demande.
Merci par avance.
Thomas
Bien bien d'utiliser les quote_ident, mais il manque toujours les doubles-quotes (") autour des noms de colonnes contenant des lettres capitales (BordDroit par exemple).
Il manque également l'ordre EXECUTE devant les ordres UPDATE et INSERT, il est aussi nécessaire car ce sont des ordres générés dynamiquement.
En fait, il y a aussi un truc assez sympa avec PostgreSQL, c'est le debugger pas à pas PL/pgSQL: pgAdmin III le supporte depuis sa version 1.8 il me semble, et le module est fournie avec PostgreSQL 8.3 pour Windows. Sinon il est disponible à cette adresse: http://pgfoundry.org/projects/edb-debugger/.
Et avec ça :
CREATE FUNCTION ri_ajoute_fils(IN nomtable character, IN nom character, IN pk_parent integer) RETURNS void AS
$$
DECLARE
Bornes integer;
BEGIN
EXECUTE SELECT "BordDroite" FROM nomtable WHERE id=pk_parent INTO Bornes ;
EXECUTE UPDATE nomtable
SET "BordDroit" = "BordDroit" + 2
WHERE "BordDroit" >= Bornes;
EXECUTE UPDATE nomtable
SET "BordGauche" = "BordGauche" + 2
WHERE "BordGauche" >= Bornes;
EXECUTE INSERT INTO nomtable ("BordDroit", "BordGauche", nom)
VALUES (Bornes, Bornes+1, nom);
END;
$$LANGUAGE 'plpgsql' VOLATILE;
Merci de lire le commentaire de SAS à propos de la capitalisation des noms de tables et de colonnes. PostgreSQL "minusculise" les noms des objets, sauf s'ils sont protégés par des doubles-quotes.
Bonjour,
Je ne l'ai pas encore utilisé, mais pgAgent semble répondre au besoin. C'est un démon qui doit tourner en parallèle d'une instance PostgreSQL pour pouvoir fonctionner correctement.
Il me semble que PostgreSQL ne peut pas déclencher de trigger sur autre chose qu'une modification des données (INSERT/UPDATE/DELETE).
Dans postgresql.conf, tu dois avoir :
listen_addresses = 'localhost'
Tu le remplaces par :
listen_adresses = '*'
Et tu arrêtes/relance ton instance PostgreSQL.
Jettes aussi un oeil à cette page de documentation : Authentification des clients.