Vous n'êtes pas identifié(e).
Pages : 1
Bah j'ai demandé partout, histoire d'avoir plus de chances de réponse x) Mais pour le moment toujours rien
Le \timing me convient parfaitement, c'est le format sous SQLplus que je souhaite changer.
Sous SQLPlus (sur ma base oracle), j'utilise "SET timing ON" afin d'obtenir plus ou moins la même chose que \timing sous postgres. Le résultat s'affiche sous la forme HH:MI:SS.FF (heures:minutes:secondes.fractionnal_second) avec une précision du 100ème de seconde.
Je souhaiterais, afin de pouvoir voir quelque chose, obtenir une précision en FF6 (6 chiffres après la virgule) et non FF2. D'après ce que j'ai lu on peut préciser FF1 à FF9, mais je n'arrive pas à trouver comment faire pour le cas du timing : dans un appel à une fonction de transformation ou d'affichage on peut préciser le format directement en argument, ici, on ne peut pas.
Quelqu'un sait-il comment régler ce format pour l'affichage du "timing" ?
Merci bien !
J'utilise explain analyze de temps en temps, mais comme cela reste un explain, j'ai supposé que c'était également une estimation de chaque étape et non une mesure du temps mis effectivement par la requête.
Bonjour,
je voulais savoir s'il était possible d'afficher le temps effectif d'exécution d'une requête (a priori, EXPLAIN se contente d'une approximation en fonction des données qu'il possède concernant la base). Comme il y a de fortes chances que ce ne soit pas le cas directement dans psql , existe-t-il un utilitaire ?
Merci !
Allez, une troisième pour la route.
Y a-t-il un équivalent à "SPOOL" (écriture des résultats de la requête dans un fichier) ? Je n'ai rien vu qui ressemble en parcourant les titres de la doc et une recherche n'a rien donné du tout cette fois :'(
Ok, c'est bien ce qu'il m'avait semblé. Merci beaucoup !
Bonjour,
toujours dans le même esprit (j'ai préféré ne pas refaire un topic), y a-t-il un équivalent à "WHENEVER" ?
Par exemple : "WHENEVER SQLERROR CONTINUE;" ou "WHENEVER SQLERROR EXIT SQL.SQLCODE;". J'ai trouvé dans la doc encore une fois du SQL embarqué, mais pas de fonctionnalité directe au niveau de psql.
J'ai cru comprendre que le comportement de base était celui de l'exemple que je viens de cité et qu'on pouvait utiliser "ON_ERROR_STOP" ou "ON_ERROR_ROLLBACK" pour le modifier, mais j'aimerais être sur que c'est bien de la même chose qu'il s'agit.
Cordialement,
Tinaby
Je pense que ça corresponds bien avec ce que je cherchais.
Merci beaucoup !
Bonjour,
étant en cours de migration depuis une base Oracle, certains scripts possèdent des lignes telles que :
define var1 = value1;
define var2 = value2;
...
Y a-t-il un équivalent avec Postgres ? J'ai pu voir les EXEC SQL DEFINE pour le SQL embarqué, mais je n'ai aps vraiment l'impression que l'utilisation soit la même (dans les scripts, les define sont utilisés directement au niveau de la base et utilisés ensuite dans des requêtes, le tout n'étant pas embarqué pour deux sous et faisant partie de la création de la base).
Pour être précis, j'ai un fichier contenant un grand nombre de "define", le dit fichier étant "inclut" (en fait, exécuté via "START fichier_def.sql") au début de la plupart des scripts.
Merci d'avance.
A vot' service m'sieurs !
Avec le temps que vous passez sur le forum pour nous aider, c'est un minimum
Ah bah ui, mais forcément si y a des pièges dans la doc !
http://docs.postgresqlfr.org/8.4/plpgsql-porting.html
-->
CREATE OR REPLACE FUNCTION cs_update_referrer_type_proc() RETURNS void AS $func$
DECLARE
CURSOR referrer_keys IS
SELECT * FROM cs_referrer_keys
ORDER BY try_order;
func_body text;
func_cmd text;
BEGIN
Ceci dit, ça marche, merci beaucoup ^^
Bonjour,
j'ai un soucis au niveau d'une fonction. En effet, Postgres me renvoi une erreur de syntaxe au niveau de la déclaration du "cursor", et ce qu'il soit au début où à la fin de mon DECLARE (j'en déduis donc que c'est bien lui le problème).
A priori la seule chose notable que j'ai faite était d'ajouter le plpgsql aux languages de ma base. Ai-je oublié quelque chose ?
Voici la déclaration de la fonction et de ses variables :
CREATE OR REPLACE FUNCTION ma_fonction (var integer) RETURNS void AS $$
DECLARE
var1 integer;
var2 integer;
var3 integer;
CURSOR curseur IS
SELECT champ FROM table
ORDER BY champ;
BEGIN
...
END ma_fonction;
$$ language plpgsql
J'ai la même erreur avec :
CREATE OR REPLACE FUNCTION ma_fonction (var integer) RETURNS void AS $$
DECLARE
CURSOR curseur IS
SELECT champ FROM table
ORDER BY champ;
var1 integer;
var2 integer;
var3 integer;
BEGIN
...
END ma_fonction;
$$ language plpgsql
Je précise que la fonction est créée dans un script shell sous la forme :
psql ma_base << %
[plpgsql]
%
Merci d'avance !
En effet. Je cherchais surtout un moyen d'éviter le message d'erreur disant qu'un tablespace est déjà existant. Ceci dit, de toutes façons, même avec le renvoi d'erreur, ça ne devrait pas gêner le fonctionnement derrière.
D'accord,
Merci beaucoup !
Tant qu'à faire, même genre de question :
CREATE TABLESPACE mon_tablespace
DATAFILE '${file}' REUSE
DEFAULT STORAGE (PCTINCREASE 0)
Le REUSE possède-t-il un équivalent ?
Bonjour,
existe-il quoi que ce soit qui permette de faire un assimilé à "DROP TABLESPACE mon_tablespace WITH CONTENTS" ? Visiblement, d'après la doc il faut que le tablespace soit vide, et je n'ai pas trouvé d'équivalent. Il faut forcément faire un truc "maison" ?
Merci bien !
C'est bon, c'était effectivement un soucis de PATH lié à un reboot machine ! Faute de frappe en voulant le remettre correctement, étonnament, /usr/locla/lib, il trouvait pas... ^^"
Comme quoi, on voit de suite plus clair l'estomac plein !
Merci !
Le PATH est correct, de même que le LD_LIBRARY_PATH. J'ai déjà lu les notes bien sur
Je vais essayer de compiler avec le compilateur de Sun, mais ça me parait étrange, mes versions de Solaris, gcc et postgres étant a priori sans soucis.
Merci bien !
Effectivement , j'ai négligé ce "petit détail" ... (je penserais à me flageller, mais avant je vais attendre que ça marche ^^)
Petit détail qui rencontre cependant une erreur
creating conversions ... FATAL : could not load library "/usr/local/pgsql/lib/ascii_and_mic.so": ld.so.1: postgres: fatal: libgcc_s.so.1: open failed : No such file or directory
Sachant que les trois bibliothèques citées sont bien présentes (j'ai du installer libgcc pour la compilation, et je viens de vérifier les deux autres sont présentes aussi).
En espérant que l'erreur viendra de quelque chose plus ... significatif que l'oublie d'une commande ! (encore que ... au moins ce serait rapide)
Bonjour,
j'ai un soucis lors de l'installation de Postgres sous Solaris 10 (sparc). Premièrement, impossible de trouver un package (le "binaire" disponible sur le ftp est en fait un ensemble de dossiers, à copier coller ? celui disponible sur sunfreeware ne marche pas non plus, "no package were found ..." malgré le -D effectivement présent dans mon pkgadd).
J'ai donc décidé de l'installer à partir des sources.
./configure --> OK
make --> OK (=gmake)
make install --> OK
Lancement de postgres : Pas de fichier PG_VERSION. Me serais-je trompé de répertoire ? Je vérifie donc l'ensemble du répertoire /usr/local/pgsql ... pas de fichiers de conf (a part les samples, que je copie donc en les renommant dans le dossier data que j'ai créé (est-il censé exister à l'installation ?)), pas de PG_VERSION.
Je n'ai rien trouvé qui semble indiquer que ce soit normal, est-ce un problème lors de l'installation ? Dû aux sources ? A ma machine ?
Je précise que j'ai fait le configure sous l'utilisateur qui utilise la base, mais le make install en root (pour les droits de création des dossiers dans /usr/local), puis un chown -R sur le dossier pgsql.
Merci d'avance,
Tinaby
Je pense que ce que vous cherchez est l'invite de commande SQL. Comme l'a dit Marc, vous pouvez utiliser l'éditeur de pgadmin. Vous trouverez ça facilement dans un tuto (voire dans la doc) (http://postgresql.developpez.com/cours/ devrait contenir ce que vous voulez)
Pages : 1