Vous n'êtes pas identifié(e).
Pages : 1
rectification la procédure fonctionne aussi pour Manjaro avec pgadmin4 v2.0
test concluant
la difference est dans
install python-virtualenv
install libqxx
et en ayant installer postgresql tout devrait être identique à la procédure ci dessus
oufff
@bientôt
pour Manjaro
https://www.manjaro.fr/forum/viewtopic.php?f=17&t=2454
suivre le model il est opérationnel.
l'installation est grandement simplifié.
a ce jour 2017/10/15 la version est 9.6 et pgadmin 1.6
ne pas confondre avec l'environnement debian
@bientôt
bonjour ,
instatallation sous XUBUNTU et cela fonctionne je suis en postgresql 10.0 ou 9.6 cela fonctionne
j'ai choisi le mode desktop car je ne touche pas à apache2 aucune intervention cela laisse le serveur libre , je n'ai pas vue de grande différence en mode serveur sauf que là il faut l'installer sur les user qui en ont besoin.
la manière est identique sur d'autre distribution
dans la console (terminal)
on installe les prérequis
sudo apt-get install python3-venv python3-pip libpq-dev python3-dev
on ouvre l'environnement
pyvenv pgadmin4
cd pgadmin4
source ./bin/activate
pip wget https://ftp.postgresql.org/pub/pgadmin/ … ne-any.whl
on installe dans l'environnement
pip install pgadmin4-2.1-py2.py3-none-any.whl
si il y a lieu ne pas s’inquiéter mais suivre ce que raconte la console
pip install --upgrade pip
pour l'instant avoir dans l'avenir si upgrade
pip install psycopg2-binary
attention donner autorisation sinon cela ne marche en desktop
cd ./lib/python3.5/site-packages/pgadmin4/
nano ./config.py
SERVER_MODE = False
ouvrir dans votre /home/ pgadmin.sh
copier
#!/bin/bash
cd pgadmin4
source bin/activate
python ./lib/python3.5/site-packages/pgadmin4/pgAdmin4.py
le lanceur
lanceur
xterm -hold -geometry '80x5' -T PGADMIN4 -e /home/???le votre??/pgadmin.sh
dans votre browser
http://127.0.0.1:5050/browser/
@bientôt
suite
2017-07-13 - 4 pgAdmin v1.6 libérés
avec la dernière version 9.6
le problème n'est pas la fluidité ect....
mais bien le rendu DDL est faux . et toujours en beug,
le rsultas par rapport a DBEAVER ils en sont loin , je ne parle même pas de pgadminIII
les requêtes sont ok
mais la creation d'une table et le résultat DDL est faux .
je perds confiance , avec pgadmin 4... je me tourne vers un autre browser qui lui est correcte. on verra beaucoup plus tard pour pgadmin 4
Bonjour
J'utilise pgadmin4 (en v1.4 actuellement) de temps en temps pour voir son évolution (d'habitude j'utilise pgadmin3 en 1.22.2 pour postgres 9.6)
je ne trouve la possibilité de paramétrer la casse des mots clefs SQL (que je voudrais mettre en majuscules automatiquement).
J'ai remarqué aussi que les commentaires (-- ou /* */) ne sont pas matérialisés comme tels (en vert dans pgadmin3), y a t il également un paramétrage que j'ai loupé ?!merci
bonjour , effectivement c'est une des différences et pour moi contraignante et la récupération ddl n'arrange pas les choses. je me suis fait mon propre constructeur (create table ) texte et xml pour le moment.
Ce n'est pas que le mot schéma ne me plaît pas, c'est qu'il faut qu'on parle de la même chose. Il me semble logique que, pour parler de PostgreSQL, on utilise la terminologie PostgreSQL. Et sans vouloir être insultant, pour pouvoir vous répondre, il faut comprendre en premier lieu le problème. Vos phrases ne sont pas des phrases. Ça manque de ponctuation, ça manque de cohérence... je suis désolé, j'aimerais bien vous aider, mais je ne comprends rien à vos messages.
Enfin, concernant pgAdmin4, personnellement, je ne l'utilise pas. Je ne connais aucun client qui l'utilisent actuellement car trop récent et pas assez stable. J'ai utilisé pgAdmin3 pendant un bon moment, principalement parce que je faisais partie de l'équipe de développement. Mais dans ma vie professionnelle, je n'utilise que psql. C'est extrêmement rare que j'utilise pgAdmin, et généralement il s'agit de pgAdmin pour les clients qui n'utilisent que Windows (là où psql est difficilement utilisable).
bonjour,
moi j'utilise pgadmin parce que :
j'ai besoin de comprendre pour faire des migrations de base de donnée DB2 AS400 et PostgreSql .
bien-sur j'utilise la documentation de PostgreSql , pour travailler et pour générer avec les formats mise à disposition du catalogue.
synoptique de traitement :
envoyer sous format csv de puis l'as400 (simple)
envoyer la procédure identique à une création faite par PostgreSql afin d'automatisé cette migration et transferts de données .(simple )
puis je fais une extraction avec ECPG de postgresql sous format XML .
puis je prépare mes librairies (génération automatique de code ECPG ) de tel manière que lorsque les programmes les utilises, le partage (1)OPDP soit actif au sein du process . D’où un gain très important lors du développement et en maintenance .
exemple:
Je reprends les programmes qui font du CGI sur AS400 en RPGILE(langage natif du 400), et les récris puisque j'ai fait les LIBc++ je me retrouve à faire du CGI en mode LG4 le BUT, et la tranquillité d'utiliser les tables d'une façon uniforme. pourquoi le CGI parce-qu’en plus d'être portable , aujourd'hui avec le (2)websocket on peu faire du temps réel.
les résultats sont surprenant tant en rapidité , ainsi que pour la sécurité (voir rollback et accès ainsi que la tenu d'enregistrement avec le websocket)
les méthodes étant validé le service Informatique et le DBA , ils prennent actes et tout rentre dans les process à suivre pour le développement .
voilà pourquoi je m'inquiète:
vouloir une évolution constante afin de bénéficier des améliorations ( sur l'as400 cet une obligation ce qui permet d'avoir aucun métro de retard).
De plus le DBA lui regarde avec la vue pgadmin , et moi je regarde avec les procédures mise à disposition par PostgreSql et pgadmin . Jusqu'à présent il y avait une cohérence. Maintenant en 9.6.2 et pgadmin4 v1.3 ce n'est plus le cas.
je ne cherche pas à avoir raison. je vous fourni la raison des problèmes .
je ne demande pas une solution , mais simplement si quelqu'un est partie sur une autre solution je serais preneur, ou pour partager. (enfin dommage que personne n'est intéressé)
d’où la définition de data structure que je pense devoir développer afin de répondre au DBA, et au service informatique .
@bientôt
ps peut-être suis-je plus clair.
(1)OPDP: partage des process(fonction), des objet(field), des data(donnée), dans un même espace donc les process et Objets ne sont définit qu'une seul fois pour l'ensemble du projet.
(2) WEBSOCKET : solution validé par l'ensemble des acteurs Informatique et les grandes Industries, janvier 2016.
Pour commencer, merci de créer une discussion par problème et non pas les entasser dans la même discussion.
Ensuite, je ne comprends pas grand chose à ce que vous dites.
strictement identique au pg_restore pas de schéma à l'affichage
Qu'est-ce que vous entendez par schéma ? Quant à l'affichage, je suppose que vous parlez de ce qu'affiche pgAdmin... avez-vous pensé à rafraichir le navigateur ?
pour avoir votre schéma il faut passer par la création de colonne ????
Une colonne n'a pas de schéma. Une table, une vue, une procédure stockée, oui. Mais pas une colonne. Du coup, je pense qu'on ne parle pas de la même schéma pour les schémas.
Concernant pgAdmin4, personnellement, je pense en effet qu'il faudra attendre bien un an pour qu'il se stabilise.
je pensais faire le suivi et je ne dois pas être le seul dans ce cas ..... et je m'attendais a un peu plus d'activité sur le sujet.
breff j'arrive de l'aS400 c'est vrais là il n'y a pas de problème . le schéma est vue comme une procédure stockée pour parler dans votre langage mais le catalogue représente bien plus que çà
quand à la définition type SQL 'puisque le mot schémas ne vous plaît pas ' d'une version à l'autre pour pgadmin4 varie beaucoup , je comprends bien que cela évolue mais quand on marque que c'est la meilleurs au monde ..... il faut faire en sorte au moins de donner l'équivalent au départ et fonctionnel .
pour la définition d'une colonne : lorsqu'on ne retrouve pas la même chose dans une procédure stockée ?????
j'ai plus de 40 ans de service je veux bien être un papy mais je sais me servir d'un PC depuis les année 85 mes premiers logiciels pour AMI association médecine international à titre gratuits....
un schémas: Définition d'une Data Structure (DDS) ou procédure stockée de définition de table. l'ensemble du mots schéma pour une table recouvre ce qui peut permettre de comprendre sa définition ses autorisations ect...
Dans l'exemple suivant le schéma catalogue défini la table des clients facturation est créé en même temps.
exemple raccourci ... pgadminIII car je ne peut pas vous le fournir en pgadmin4 v1.3 venant d'une procédure stockée (sauf si vous passer par la création de colonnes ... ou la représentation de la procédure stockée n'est pas viable ) par contre fonctionnait en v1.2 allez-y comprendre quelques choses effectivement c'est un manière de pas avoir de beug que de supprimer les affichages .....
- Table: public."FC0CLI"
-- DROP TABLE public."FC0CLI";
CREATE TABLE public."FC0CLI"
(
"C0CDEP" character(3), -- CODE DEPARTEMENT
"C0NCLI" numeric(6,0) NOT NULL, -- N° CLIENT
CONSTRAINT "FC0CLI_pkey" PRIMARY KEY ("C0NCLI")
)
WITH (
OIDS=FALSE
);
ALTER TABLE public."FC0CLI"
OWNER TO postgres;
COMMENT ON TABLE public."FC0CLI"
IS 'CLIENT FACTURATION';
COMMENT ON COLUMN public."FC0CLI"."C0CDEP" IS 'CODE DEPARTEMENT';
COMMENT ON COLUMN public."FC0CLI"."C0NCLI" IS 'N° CLIENT';
plus la peine de répondre je laisse tombé . de toute façon il n'y a pas de discussion sur ce sujet , soit les personnes sans foutes ou qu'ils ce sont tourné vers autre chose . ou qu'il n'y a aucun intérêt.
je vais résoudre mon problème autrement, dommage que Postgresql est accepté cela , son image sans trouve ternie. Fournir un outil peu fiable de base .....
quand à l'usure de la version pgadmin4 si vous ne comprenez pas c'est sûrement que vous ne l'utilisez pas sinon vous auriez trouvé mes problèmes tant il sont évident et rende l'utilisation impossible et surtout pas fiable.
merci d'avoir pris le temps de lire.
postgresql 9.6.2
version 4 1.3
le vacuum fonctionne.
# DATA
pg_dump --format custom -a --encoding utf8 --host 127.1.1 --port 5432 --username postgres CGIFCH > $CGIFCH_DATA
# SCHEMA
pg_dump --format custom --section pre-data --section post-data --encoding utf8 --host 127.1.1 --port 5432 --username postgres CGIFCH > $CGIFCH_SCHEMA
puis
# recharge et creation des tables et leurs definitions
pg_restore --host localhost --port 5432 --username postgres --dbname CGIFCH $CGIFCH_SCHEMA
# recharge les données
pg_restore -a --host localhost --port 5432 --username postgres --dbname CGIFCH $CGIFCH_DATA
la catastrophe plus de schéma ????
j'ai essayé à la main
-- TABLE: "FC0CLI"
-- COPY "FC0CLI" FROM '/home/soleil/AS400/DEF_SQL/FC0CLI.csv' WITH DELIMITER '|' QUOTE '}' csv ENCODING 'WINDOWS-1250';
-- DROP TABLE "FC0CLI" ;
CREATE TABLE public."FC0CLI"
(
"C0CDEP" character(3 ), -- CODE DEPARTEMENT
"C0NCLI" numeric(6,00), -- N° CLIENT
CONSTRAINT "FC0CLI_pkey" PRIMARY KEY ("C0NCLI")
)
WITH (
OIDS=FALSE
);
ALTER TABLE public."FC0CLI"
OWNER TO postgres;
COMMENT ON TABLE public."FC0CLI"
IS 'CLIENT FACTURATION';
COMMENT ON COLUMN "FC0CLI"."C0CDEP" IS 'CODE DEPARTEMENT';
COMMENT ON COLUMN "FC0CLI"."C0NCLI" IS 'N° CLIENT';
strictement identique au pg_restore pas de schéma à l'affichage
pour avoir votre schéma il faut passer par la création de colonne ????
par contre en utilisant la création de colonne l'affichage fonction et vous obtenez un script mais faux exemple
COCDEP character[] length 3 info CODE DEPARTEMENT donne le script "C0CDEP" character(3 )[] ...... le script imprenable en sql si vous le conserver
résultat des améliorations mais aussi des beug supplémentaire !!!! c'était pourtant pas difficile de récupérer les définitions et de les ré-afficher
je lâche l'affaire et reviens en 9.5.6 avec pgadmin III je stop l'évolution je testerait maintenant à la fin de l'année et encore ..... Je n'avais rien mis en prod je voulais être sur de la maintenance qui pour est aussi important que la création. en plus pas de .deb ni ppa alors ....
je crois que je vais me faire un outils médian qui permet de construire des tables.... et d'avoir un référentiel alors je reprendrais le cours de Postgresql . trop de souci pour géré l'architecture d'une base de donnée . @bientôt
vas voir http://askubuntu.com/questions/831262/h … untu-16-04
j'ai testé ça marche mais c'est scabreux....
la version 9.6.2 idem ce n'est pas postgresql qui ne fonctionne pas
mais pgadmin4 qui n'est pas au rendez-vous
bonjour ,
la version 1.22.2
effectivement la version la version 1.22.2 fonctionne
mais elle creer a chaque demande une 9.5 par defaut
j'ai mis a jour la version 9.6.2 postgresql lui ne présente aucun problème
rappel pgsql 9.6.2 pgadmin4 1.2
pour la version pgadmin4
toujours les mêmes problèmes avec pgadmin4
la maintenance ne fonctionne pasbeug style (creation job failed) (sauf si vous ête en admin sudo)
mais ne remonte aucun résultat
pour que cela fonctionne ne pas exécuter avec l'onglet maintenance
solution avec le script passer par l'interface editor sql idem que pour create table si dessus
VACUUM FULL VERBOSE ;(full table)
VACUUM FULL VERBOSE votre_table ;
pgsql 9.6 vacuum
dommage ça rends le pgadmin un peu étriqué
une solution (avec dbeaver logiciel communautaire )
j'ai essayer divers solutions pour le moment rien ne remplace pgadminIII et la version 4 n'est pas terminé . au 15/02/2017
d'autre part je crains la compatibilité ou dut moins je voudrais que ça colle 100% hors les base accès Universelle c'est du 95% exemple charactere(3) devient bpchar(3) et cela me chagrine car je me dit que la représentativité n'est pas exacte .... ou 90% dans certains logiciels exemple lors de la création de tables.
je suis tatillon avec la BD car j'étais architecte depuis 1980 alors comme je suis un papy j'ai des exigences dut à la responsabilité tant en maintenance quand faisabilité ainsi que fiabilité.
j'ai fais une étude de plus d'un an pour choisir une BD autre que DB2 AS400 et mon choix c'est porté sur postgresql qui pour moi représente un gage de respect des normes SQL et de sa fiabilité ainsi que sa portabilité.
lors d'une demande d'ouverture de de sujet , l'Admin m'a suggéré (plutôt dit de regarder avec prudence) le fork pgAdmin3 valide pour pgSQL 9.6.x
a) oui cela existe bien
b) avec bigsql mais pour windows
c) il y a un gti a disposition ...
enfin de compte la demande du Fork n'est pas appuyé par l'équipe de postgresql , mais accepté si il reste dans la licence.
Quand ont regarde l'ensemble des obligations pour l'install , il faut remonter (wxwidgets et gtk )a 2.8 , pytnon ancienne version ... ect...,
on comprends mieux pourquoi ils ont lâché l'affaire , et pour moi le retro pédalage est trop coûteux.
dans un mail de conversation entre l'équipe du fork et postgresql , postgresql dit qu'il feront le nécessaire pour amélioré et plus, et ne soutiendront pas le fork .
alors à quand un ppa pgadmin4 ....
@bientôt de vous lire
ps(je ne vous donne pas l'adresse du git croyez-moi trop de problèmes malgré que le GUI est encore un peu plus avancé a ce jour 2017-02-01)
bonjour , comme certain j'ai quand même voulue expérimenter et je vous fait partager mon expérience.
le contexte:
Migration de DB2 vers PostgreSQL :
j'ai pris la version 9.6.1 sur le site de entreprise de PostgreSQL (c'est plus simple pour faire mon développement )
j'ai généré les source adéquate à l'identique de pgAdmin3 impossible d'importé avec l'outil, mais avec querytool (SQL) j'ai pu créé mes tables .
quand au données j'ai fait de la même manière
ex:
-- TABLE: "FC0CLI"
-- COPY "FC0CLI" FROM '/home/soleil/AS400/DEF_SQL/FC0CLI.csv' WITH DELIMITER '|' QUOTE '}' csv ENCODING 'WINDOWS-1250';
-- DROP TABLE "FC0CLI" ;
CREATE TABLE "FC0CLI"
(
"C0CDEP" character(3 ), -- CODE DEPARTEMENT
"C0CFAC" character(1 ), -- CODE FACTURATION
"C0CJRD" character(4 ), -- CODE FORME JURIDIQUE
"C0CPAY" character(3 ), -- CODE PAYS
"C0CRGI" numeric(2,00), -- CODE REGION ECONOMIQ
"C0CRGL" numeric(3,00), -- CODE REGLEMENT
"C0CST1" numeric(2,00), -- CODE REGION STAT.
"C0CST2" numeric(2,00), -- CODE SECTEUR STAT.
"C0CTRS" numeric(2,00), -- CODE TRESORERIE
"C0CTTV" character(1 ), -- CODE TVA EXO EXPORT
"C0999E" date, -- DATE DE CREATION ENR
"C0999M" date, -- DATE DE MODIFCATION
"C0NARR" numeric(3,00), -- N. ARRONDISSEMENT
"C0NCLI" numeric(6,00), -- N° CLIENT
"C0NPTT" numeric(5,00), -- N. CODE POSTAL
"C0NESC" numeric(2,01), -- N. ESCOMPTE
"C0SHS" numeric(1,00), -- 0/1 N=0 O=1 H.SERVC
"C0SLCR" character(1 ), -- O/N L.C.R.
"C0SMLG" character(1 ), -- O/N MAILING
"C0TRPL" character(1 ), -- TYPE BLOCAGE RAPPEL
"C0ZPTT" character(10 ), -- Z. CODE POSTAL
"C0ZCTC" character(30 ), -- PERSONNE A CONTACTER
"C0ZDST" character(30 ), -- PERSONNE DESTINATAIR
"C0ZNOM" character(30 ), -- NOM / RAISON SOCIAL
"C0ZOBS" character(30 ), -- OBSERVATIONS
"C0ZTVA" character(15 ), -- REFERENCE TVA
"C0ZRU1" character(30 ), -- NOM / RUE1
"C0ZRU2" character(30 ), -- SUITE NOM / RUE1
"C0ZTL1" character(15 ), -- N. TEL. PERS. A CONT
"C0ZTLX" character(15 ), -- N. TELEX / TELECOPIE
"C0ZVIL" character(25 ), -- VILLE
CONSTRAINT "FC0CLI_pkey" PRIMARY KEY ("C0NCLI")
)
WITH (
OIDS=FALSE
);
ALTER TABLE "FC0CLI"
OWNER TO postgres;
COMMENT ON TABLE "FC0CLI"
IS 'CLIENT FACTURATION';
COMMENT ON COLUMN "FC0CLI"."C0CDEP" IS 'CODE DEPARTEMENT';
COMMENT ON COLUMN "FC0CLI"."C0CFAC" IS 'CODE FACTURATION';
COMMENT ON COLUMN "FC0CLI"."C0CJRD" IS 'CODE FORME JURIDIQUE';
COMMENT ON COLUMN "FC0CLI"."C0CPAY" IS 'CODE PAYS';
COMMENT ON COLUMN "FC0CLI"."C0CRGI" IS 'CODE REGION ECONOMIQ';
COMMENT ON COLUMN "FC0CLI"."C0CRGL" IS 'CODE REGLEMENT';
COMMENT ON COLUMN "FC0CLI"."C0CST1" IS 'CODE REGION STAT.';
COMMENT ON COLUMN "FC0CLI"."C0CST2" IS 'CODE SECTEUR STAT.';
COMMENT ON COLUMN "FC0CLI"."C0CTRS" IS 'CODE TRESORERIE';
COMMENT ON COLUMN "FC0CLI"."C0CTTV" IS 'CODE TVA EXO EXPORT';
COMMENT ON COLUMN "FC0CLI"."C0999E" IS 'DATE DE CREATION ENR';
COMMENT ON COLUMN "FC0CLI"."C0999M" IS 'DATE DE MODIFCATION';
COMMENT ON COLUMN "FC0CLI"."C0NARR" IS 'N. ARRONDISSEMENT';
COMMENT ON COLUMN "FC0CLI"."C0NCLI" IS 'N° CLIENT';
COMMENT ON COLUMN "FC0CLI"."C0NPTT" IS 'N. CODE POSTAL';
COMMENT ON COLUMN "FC0CLI"."C0NESC" IS 'N. ESCOMPTE';
COMMENT ON COLUMN "FC0CLI"."C0SHS" IS '0/1 N=0 O=1 H.SERVC';
COMMENT ON COLUMN "FC0CLI"."C0SLCR" IS 'O/N L.C.R.';
COMMENT ON COLUMN "FC0CLI"."C0SMLG" IS 'O/N MAILING';
COMMENT ON COLUMN "FC0CLI"."C0TRPL" IS 'TYPE BLOCAGE RAPPEL';
COMMENT ON COLUMN "FC0CLI"."C0ZPTT" IS 'Z. CODE POSTAL';
COMMENT ON COLUMN "FC0CLI"."C0ZCTC" IS 'PERSONNE A CONTACTER';
COMMENT ON COLUMN "FC0CLI"."C0ZDST" IS 'PERSONNE DESTINATAIR';
COMMENT ON COLUMN "FC0CLI"."C0ZNOM" IS 'NOM / RAISON SOCIAL';
COMMENT ON COLUMN "FC0CLI"."C0ZOBS" IS 'OBSERVATIONS';
COMMENT ON COLUMN "FC0CLI"."C0ZTVA" IS 'REFERENCE TVA';
COMMENT ON COLUMN "FC0CLI"."C0ZRU1" IS 'NOM / RUE1';
COMMENT ON COLUMN "FC0CLI"."C0ZRU2" IS 'SUITE NOM / RUE1';
COMMENT ON COLUMN "FC0CLI"."C0ZTL1" IS 'N. TEL. PERS. A CONT';
COMMENT ON COLUMN "FC0CLI"."C0ZTLX" IS 'N. TELEX / TELECOPIE';
COMMENT ON COLUMN "FC0CLI"."C0ZVIL" IS 'VILLE';
résultats:
-- Table: public."FC0CLI"-- DROP TABLE public."FC0CLI";
CREATE TABLE public."FC0CLI"
(
"C0CDEP" character(3) COLLATE pg_catalog."default",
"C0CFAC" character(1) COLLATE pg_catalog."default",
"C0CJRD" character(4) COLLATE pg_catalog."default",
"C0CPAY" character(3) COLLATE pg_catalog."default",
"C0CRGI" numeric(2),
"C0CRGL" numeric(3),
"C0CST1" numeric(2),
"C0CST2" numeric(2),
"C0CTRS" numeric(2),
"C0CTTV" character(1) COLLATE pg_catalog."default",
"C0999E" date,
"C0999M" date,
"C0NARR" numeric(3),
"C0NCLI" numeric(6) NOT NULL,
"C0NPTT" numeric(5),
"C0NESC" numeric(2, 1),
"C0SHS" numeric(1),
"C0SLCR" character(1) COLLATE pg_catalog."default",
"C0SMLG" character(1) COLLATE pg_catalog."default",
"C0TRPL" character(1) COLLATE pg_catalog."default",
"C0ZPTT" character(10) COLLATE pg_catalog."default",
"C0ZCTC" character(30) COLLATE pg_catalog."default",
"C0ZDST" character(30) COLLATE pg_catalog."default",
"C0ZNOM" character(30) COLLATE pg_catalog."default",
"C0ZOBS" character(30) COLLATE pg_catalog."default",
"C0ZTVA" character(15) COLLATE pg_catalog."default",
"C0ZRU1" character(30) COLLATE pg_catalog."default",
"C0ZRU2" character(30) COLLATE pg_catalog."default",
"C0ZTL1" character(15) COLLATE pg_catalog."default",
"C0ZTLX" character(15) COLLATE pg_catalog."default",
"C0ZVIL" character(25) COLLATE pg_catalog."default",
CONSTRAINT "FC0CLI_pkey" PRIMARY KEY ("C0NCLI")
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;ALTER TABLE public."FC0CLI"
OWNER to postgres;
COMMENT ON TABLE public."FC0CLI"
IS 'CLIENT FACTURATION';COMMENT ON COLUMN public."FC0CLI"."C0CDEP"
IS 'CODE DEPARTEMENT';COMMENT ON COLUMN public."FC0CLI"."C0CFAC"
IS 'CODE FACTURATION';COMMENT ON COLUMN public."FC0CLI"."C0CJRD"
IS 'CODE FORME JURIDIQUE';COMMENT ON COLUMN public."FC0CLI"."C0CPAY"
IS 'CODE PAYS';COMMENT ON COLUMN public."FC0CLI"."C0CRGI"
IS 'CODE REGION ECONOMIQ';COMMENT ON COLUMN public."FC0CLI"."C0CRGL"
IS 'CODE REGLEMENT';COMMENT ON COLUMN public."FC0CLI"."C0CST1"
IS 'CODE REGION STAT.';COMMENT ON COLUMN public."FC0CLI"."C0CST2"
IS 'CODE SECTEUR STAT.';COMMENT ON COLUMN public."FC0CLI"."C0CTRS"
IS 'CODE TRESORERIE';COMMENT ON COLUMN public."FC0CLI"."C0CTTV"
IS 'CODE TVA EXO EXPORT';COMMENT ON COLUMN public."FC0CLI"."C0999E"
IS 'DATE DE CREATION ENR';COMMENT ON COLUMN public."FC0CLI"."C0999M"
IS 'DATE DE MODIFCATION';COMMENT ON COLUMN public."FC0CLI"."C0NARR"
IS 'N. ARRONDISSEMENT';COMMENT ON COLUMN public."FC0CLI"."C0NCLI"
IS 'N° CLIENT';COMMENT ON COLUMN public."FC0CLI"."C0NPTT"
IS 'N. CODE POSTAL';COMMENT ON COLUMN public."FC0CLI"."C0NESC"
IS 'N. ESCOMPTE';COMMENT ON COLUMN public."FC0CLI"."C0SHS"
IS '0/1 N=0 O=1 H.SERVC';COMMENT ON COLUMN public."FC0CLI"."C0SLCR"
IS 'O/N L.C.R.';COMMENT ON COLUMN public."FC0CLI"."C0SMLG"
IS 'O/N MAILING';COMMENT ON COLUMN public."FC0CLI"."C0TRPL"
IS 'TYPE BLOCAGE RAPPEL';COMMENT ON COLUMN public."FC0CLI"."C0ZPTT"
IS 'Z. CODE POSTAL';COMMENT ON COLUMN public."FC0CLI"."C0ZCTC"
IS 'PERSONNE A CONTACTER';COMMENT ON COLUMN public."FC0CLI"."C0ZDST"
IS 'PERSONNE DESTINATAIR';COMMENT ON COLUMN public."FC0CLI"."C0ZNOM"
IS 'NOM / RAISON SOCIAL';COMMENT ON COLUMN public."FC0CLI"."C0ZOBS"
IS 'OBSERVATIONS';COMMENT ON COLUMN public."FC0CLI"."C0ZTVA"
IS 'REFERENCE TVA';COMMENT ON COLUMN public."FC0CLI"."C0ZRU1"
IS 'NOM / RUE1';COMMENT ON COLUMN public."FC0CLI"."C0ZRU2"
IS 'SUITE NOM / RUE1';COMMENT ON COLUMN public."FC0CLI"."C0ZTL1"
IS 'N. TEL. PERS. A CONT';COMMENT ON COLUMN public."FC0CLI"."C0ZTLX"
IS 'N. TELEX / TELECOPIE';COMMENT ON COLUMN public."FC0CLI"."C0ZVIL"
IS 'VILLE';
comme vous pouvez le constater
les commentaires disparaissent sur la définition des zones et la disposition des COMMENT est moins lisible l'onglet SQL lors de la création d'une table reste non accessible.
d'ailleurs si vous avez migré et fait Dump de votre base et Restore cela est identique
maintenance:
pas de réponse , il y a bien une soumission mais rien ne ce passe . ou je suppose qu'il n'y a pas de problème puisque aucun message n’apparaît.
quand au reste cela fonctionne correctement .
AVEZ-VOUS des remarques à partager svp
si ce n'est qu'il y a un Fork de pgAdmin3 pour 9.6 (merci a l'admin qui m'en a fait part)
bien pour terminer je ne voudrais pas que l'on pense que le travaille énorme qui a été fait pour rendre pdAdmin4 multiplate-forme et indépendant est incohérent, mais comme tout projet surtout ceux qui s'adresse au informaticien est difficile a réalisé surtout qu'un programme était déjà performant (pgAdim3) .
Il manque quelques truc pour égalé mais ça vas venir je ne peux penser autrement.
@bientôt de vous lire.
bonjour, j'aimerais bien qu'il y ait une rubrique pgAdmin4, afin de partager nos expériences et avoir un retour sur le produit livré avec la version 9.6...
bien que ce ne soit pas le lieux , des différences importantes font que l'on aborde pas les choses de la même manière.
cela peut en dérouter plus d'un , d'autre part cela permettrait de faire remonter certaine demande d'amélioration ou de non fonctionnement.
j'ai pour moi même eu des difficultés pour l'importation et la nouvelle présentation des schémas avec moins de commentaire et plus diffus font que je pense à me faire un programme pour me représenté la structure de fichiers d'une manière plus cohérente visuellement en mode texte ou semi-graphique.
comme vous le voyez il y a de nombreux sujet dont ont aimeraient bien partager dans une rubrique tel que pgadmin3 qui d'ailleurs est incompatible avec la nouvelle version.
en attendant une réponse favorable je remercie l'ensemble des acteurs impliqués pour la maintenance du forum.
@bientôt
bonjour
un truc qui en depatrouilera plus d'un
sauvegarde
#!/bin/bash
#
# cp based backup script.
#
echo "bonjour"
if [! -d "/media/soleil/6528-D95D/SAUVEGARDE" ]
then
echo "Branche le lecteur"
exit 1
fi
echo "bonjour"
echo -n "Voulez-SAUVEGARDER Y/N : "
read ouinon
if [ "$ouinon" = "y" ] || [ "$ouinon" = "Y" ]
then
cd /media/soleil/6528-D95D/SAUVEGARDE/
dat=$(date +%Y%m%d)
echo "sauvegarde PostgreSQL CGIFCH"
CGIFCH_DATA="CGIFCH_DATA_"$dat".backup"
CGIFCH_SCHEMA="CGIFCH_SCHEMA_"$dat".backup"
echo -n "File PostgreSQL --- A Sauvegarder :"
echo "$CGIFCH_DATA"
echo -n "File PostgreSQL --- A Sauvegarder :"
echo "$CGIFCH_SCHEMA"
# DATA
pg_dump --format custom -a --encoding utf8 --host 127.1.1 --port 5432 --username postgres CGIFCH > $CGIFCH_DATA
# SCHEMA
pg_dump --format custom --section pre-data --section post-data --encoding utf8 --host 127.1.1 --port 5432 --username postgres CGIFCH > $CGIFCH_SCHEMA
echo "sauvegarde Repertoire Terminer"
elif [ "$ouinon" = "n" ] || [ "$ouinon"= "N" ]
then
echo "Ok, bye!"
else
echo "Il faut taper Y ou N!! Pas $ouinon"
fi
exit 0
========================================
:):)
restore
#!/bin/bash
#
# cp based backup script.
#
#
if [! -d "/media/soleil/6528-D95D/SAUVEGARDE/" ]
then
echo "Branche le lecteur"
exit 1
fi
echo "recuperation RESTAURE BDsql: "
echo -n "Entrez: sa date de sauvegarde : "
read file
CGIFCH_SCHEMA="CGIFCH_SCHEMA_"$file".backup"
CGIFCH_DATA="CGIFCH_DATA_"$file".backup"
echo -n "File PostgreSQL --- A Restaurer :"
echo "$CGIFCH_SCHEMA"
echo -n "File PostgreSQL --- A Restaurer :"
echo "$CGIFCH_DATA"
if [ -e "$CGIFCH_DATA" ]
then
echo -n "Voulez-Restaurer Y/N : "
read ouinon
if [ "$ouinon" = "y" ] || [ "$ouinon" = "Y" ]
then
cd /media/soleil/6528-D95D/SAUVEGARDE/
# recharge et creation des tables et leurs definitions
pg_restore --host 127.1.1 --port 5432 --username postgres --dbname CGIFCH $CGIFCH_SCHEMA
# recharge les données
pg_restore -a --host 127.1.1 --port 5432 --username postgres --dbname CGIFCH $CGIFCH_DATA
echo "restaurer controler avec un vacum general "
elif [ "$ouinon" = "n" ] || [ "$ouinon" = "N" ]
then
echo "Ok, bye! "
else
echo "Il faut taper Y ou N!! Pas $ouinon"
fi
else
echo "Le fichier n'existe pas, du moins n'est pas dans le répertoire d'exécution du script"
fi
exit 0
bien autan pour moi,
il suffit de rajouter
une ligne par exemple (linux) dans le fichier /etc/apache2/envvars
export LD_LIBRARY_PATH=/opt/PostgreSQL/9.4/lib/
bonjour,
mes programmes avec Postgresql fonctionnent, maintenant je voudrais faire du CGI mais avec apache2 j'ai des erreurs portant ...
/home/soleil/WWW/pgmdev/R00USR.cgi: error while loading shared libraries: libpgtypes.so.3: cannot open shared object file: No such file or directory
je pense qu'il faut faire a2enmod de tous les modules Posqgresql mais dois je mettre le chemin
ex: a2enomd /opt/PostgreSQL/9.4/lib/libpgtypes.so.3 (ça ne marche pas)
(j'ai installé postgresql-9.4.1-3-linux-x64.run (Ubuntu))
merci.
j'ai trouvé
a) je maintiens que la fonction ne fonctionne pas tel que décrite sous pgadmin et ecpg dans la doc.
b) la réponse pour que les deux fonctionne
EXEC SQL AT pg_RTABLE DECLARE pg_RTABLE_cur CURSOR FOR
select
cl.table_catalog
,cl.table_name
,d.description
,cl.column_name
,e.description
,cl.ORDINAL_POSITION
,cl.DATA_TYPE
,coalesce(cl.CHARACTER_MAXIMUM_LENGTH,0)
,coalesce(cl.NUMERIC_PRECISION,0)
,coalesce(cl.NUMERIC_SCALE,0)
from
information_schema.columns cl ,
pg_catalog.pg_attribute a
inner join pg_catalog.pg_class c on a.attrelid = c.oid,
pg_catalog.pg_description d,
pg_catalog.pg_description e
where
cl.table_catalog =:nzdbname
and c.relname =:nzfile
and a.attnum > 0
and a.attisdropped is false
and pg_catalog.pg_table_is_visible(c.oid)
and cl.table_name = c.relname
and cl.ORDINAL_POSITION = a.attnum
and d.objoid = a.attrelid
and d.objsubid = 0
and e.objoid = a.attrelid
and e.objsubid = a.attnum
order by a.attnum;
EXEC SQL AT pg_RTABLE OPEN pg_RTABLE_cur ;
EXEC SQL AT pg_RTABLE FETCH pg_RTABLE_cur INTO :nzSERVER, :nzTABLE, :nzTEXT , :nCNAME, :nCTEXT, :nCPOS, :nCTYP, :nCLEN, :nCDEC, :nCVIR ;
fprintf(stderr, "\n db_read_RTABLE \n zSERVER: %s \n zTABLE: %s \n zTEXT: %s \n zNAME: %s \n CTEXT: %s \n CPOS: %d \n CTYP: %s \n CLEN: %d \n CDEC: %d \n CVIR: %d \n ",
nzSERVER, nzTABLE, nzTEXT, nCNAME, nCTEXT, nCPOS, nCTYP, nCLEN, nCDEC, nCVIR);
là ça fonctionne
je souhaite que cela serve pour les autres
pour info
EXEC SQL BEGIN DECLARE SECTION;
/* $FIELD */
char* nzdbname ; /* connection user name */
char* nzfile ; /* connection user name */
char* nzSERVER ;
char* nzTABLE ;
char* nCNAME ;
int nCPOS ; /* Position */
char* nCTYP ;
int nCLEN ; /* Longueur zone alpha */
int nCDEC ; /* ENTIER */
int nCVIR ; /* NBR CHIFFRE APRES VIRGULE */
char* nzTEXT ; /* texte Table */
char* nCTEXT ; /* texte de la Colonne */
int nCCOL ; /* Nbr colonne */
int nCKEY ; /* Nbr key */
EXEC SQL END DECLARE SECTION;
attention ne pas oublier
,coalesce(cl.CHARACTER_MAXIMUM_LENGTH,0)
,coalesce(cl.NUMERIC_PRECISION,0)
,coalesce(cl.NUMERIC_SCALE,0)
sino error (les valeurs sont NULL donc les forcer a zeros )
pour donner ce résultat:
<?xml version="1.0" encoding="UTF-8"?>
<FILE>
<ENTETE>
<VERSION>20170217144517</VERSION>
<SERVEUR>CGIFCH</SERVEUR>
<TABLE>FC0CLI</TABLE>
<TEXT>CLIENT FACTURATION</TEXT>
<NBRCOL>031</NBRCOL>
<NBRKEY>001</NBRKEY>
</ENTETE>
<ZONED>
<row NAME="C0CDEP" TEXT="CODE DEPARTEMENT" ORD="1" TYP="character" LEN="3" ENT="0" DEC="0" LNG="3"/>
<row NAME="C0CFAC" TEXT="CODE FACTURATION" ORD="2" TYP="character" LEN="1" ENT="0" DEC="0" LNG="1"/>
<row NAME="C0CJRD" TEXT="CODE FORME JURIDIQUE" ORD="3" TYP="character" LEN="4" ENT="0" DEC="0" LNG="4"/>
<row NAME="C0CPAY" TEXT="CODE PAYS" ORD="4" TYP="character" LEN="3" ENT="0" DEC="0" LNG="3"/>
<row NAME="C0CRGI" TEXT="CODE REGION ECONOMIQ" ORD="5" TYP="numeric" LEN="0" ENT="2" DEC="0" LNG="3"/>
<row NAME="C0CRGL" TEXT="CODE REGLEMENT" ORD="6" TYP="numeric" LEN="0" ENT="3" DEC="0" LNG="4"/>
<row NAME="C0CST1" TEXT="CODE REGION STAT." ORD="7" TYP="numeric" LEN="0" ENT="2" DEC="0" LNG="3"/>
<row NAME="C0CST2" TEXT="CODE SECTEUR STAT." ORD="8" TYP="numeric" LEN="0" ENT="2" DEC="0" LNG="3"/>
<row NAME="C0CTRS" TEXT="CODE TRESORERIE" ORD="9" TYP="numeric" LEN="0" ENT="2" DEC="0" LNG="3"/>
<row NAME="C0CTTV" TEXT="CODE TVA EXO EXPORT" ORD="10" TYP="character" LEN="1" ENT="0" DEC="0" LNG="1"/>
<row NAME="C0999E" TEXT="DATE DE CREATION ENR" ORD="11" TYP="date" ENT="0" DEC="0" LNG="8" LEN="8"/>
<row NAME="C0999M" TEXT="DATE DE MODIFCATION" ORD="12" TYP="date" ENT="0" DEC="0" LNG="8" LEN="8"/>
<row NAME="C0NARR" TEXT="N. ARRONDISSEMENT" ORD="13" TYP="numeric" LEN="0" ENT="3" DEC="0" LNG="4"/>
<row NAME="C0NCLI" TEXT="N° CLIENT" ORD="14" TYP="numeric" LEN="0" ENT="6" DEC="0" LNG="7"/>
<row NAME="C0NPTT" TEXT="N. CODE POSTAL" ORD="15" TYP="numeric" LEN="0" ENT="5" DEC="0" LNG="6"/>
<row NAME="C0NESC" TEXT="N. ESCOMPTE" ORD="16" TYP="numeric" LEN="0" ENT="2" DEC="1" LNG="3"/>
<row NAME="C0SHS" TEXT="0/1 N=0 O=1 H.SERVICE" ORD="17" TYP="numeric" LEN="0" ENT="1" DEC="0" LNG="2"/>
<row NAME="C0SLCR" TEXT="O/N L.C.R." ORD="18" TYP="character" LEN="1" ENT="0" DEC="0" LNG="1"/>
<row NAME="C0SMLG" TEXT="O/N MAILING" ORD="19" TYP="character" LEN="1" ENT="0" DEC="0" LNG="1"/>
<row NAME="C0TRPL" TEXT="TYPE BLOCAGE RAPPEL" ORD="20" TYP="character" LEN="1" ENT="0" DEC="0" LNG="1"/>
<row NAME="C0ZPTT" TEXT="Z. CODE POSTAL" ORD="21" TYP="character" LEN="10" ENT="0" DEC="0" LNG="10"/>
<row NAME="C0ZCTC" TEXT="PERSONNE A CONTACTER" ORD="22" TYP="character" LEN="30" ENT="0" DEC="0" LNG="30"/>
<row NAME="C0ZDST" TEXT="PERSONNE DESTINATAIR" ORD="23" TYP="character" LEN="30" ENT="0" DEC="0" LNG="30"/>
<row NAME="C0ZNOM" TEXT="NOM / RAISON SOCIAL" ORD="24" TYP="character" LEN="30" ENT="0" DEC="0" LNG="30"/>
<row NAME="C0ZOBS" TEXT="OBSERVATIONS" ORD="25" TYP="character" LEN="30" ENT="0" DEC="0" LNG="30"/>
<row NAME="C0ZTVA" TEXT="REFERENCE TVA" ORD="26" TYP="character" LEN="15" ENT="0" DEC="0" LNG="15"/>
<row NAME="C0ZRU1" TEXT="NOM / RUE1" ORD="27" TYP="character" LEN="30" ENT="0" DEC="0" LNG="30"/>
<row NAME="C0ZRU2" TEXT="SUITE NOM / RUE1" ORD="28" TYP="character" LEN="30" ENT="0" DEC="0" LNG="30"/>
<row NAME="C0ZTL1" TEXT="N. TEL. PERS. A CONT" ORD="29" TYP="character" LEN="15" ENT="0" DEC="0" LNG="15"/>
<row NAME="C0ZTLX" TEXT="N. TELEX / TELECOPIE" ORD="30" TYP="character" LEN="15" ENT="0" DEC="0" LNG="15"/>
<row NAME="C0ZVIL" TEXT="VILLE" ORD="31" TYP="character" LEN="25" ENT="0" DEC="0" LNG="25"/>
</ZONED>
<ZONEK>
<row NAME="C0NCLI" ORD="1" TYP="numeric" LEN="0" ENT="6" DEC="0" LNG="7"/>
</ZONEK>
</FILE>
La requête fonctionne avec pgAdmin et psql. Donc le problème vient de votre programme.
merci alors aidé moi ???
EXEC SQL BEGIN DECLARE SECTION;
/* $FIELD */
char* nzdbname ; /* connection user name */
char* nzfile ; /* connection user name */
char* nzSERVER ;
char* nzTABLE ;
char* nCNAME ;
int nCPOS ; /* Position */
char* nCTYP ;
int nCLEN ; /* Longueur zone alpha */
int nCDEC ; /* ENTIER */
int nCVIR ; /* NBR CHIFFRE APRES VIRGULE */
char* nzTEXT ; /* texte Table */
char* nCTEXT ; /* texte de la Colonne */
int nCOL ; /* n° Col index description */
EXEC SQL END DECLARE SECTION;
void db_read_RTABLE()
{
nCPOS = 0;
nCDEC = 0;
nCLEN = 0;
nCVIR = 0;
nzSERVER = (char*) malloc( 256 * sizeof(char*));
nzTABLE = (char*) malloc( 256 * sizeof(char*));
nCNAME = (char*) malloc( 256 * sizeof(char*));
nCTYP = (char*) malloc( 256 * sizeof(char*));
nzTEXT = (char*) malloc( 256 * sizeof(char*));
nCTEXT = (char*) malloc( 256 * sizeof(char*));
EXEC SQL AT pg_RTABLE DECLARE pg_RTABLE_cur CURSOR FOR
SELECT
cl.table_catalog,cl.table_name,
cl.column_name,cl.ORDINAL_POSITION,cl.DATA_TYPE,cl.CHARACTER_MAXIMUM_LENGTH,cl.NUMERIC_PRECISION,cl.NUMERIC_SCALE
,(select pg_catalog.obj_description( oid) from pg_catalog.pg_class c where c.relname=cl.table_name) as table_comment
,(select pg_catalog.col_description( oid,cl.ORDINAL_POSITION::int) from pg_catalog.pg_class cx where cx.relname=cl.table_name) as column_comment
FROM information_schema.columns cl
WHERE cl.table_catalog =:nzdbname and cl.table_name =:nzfile
ORDER BY 4 ;
EXEC SQL AT pg_RTABLE OPEN pg_RTABLE_cur ;
EXEC SQL WHENEVER SQLERROR CONTINUE ;
EXEC SQL WHENEVER NOT FOUND DO BREAK;
while (1)
{
EXEC SQL AT pg_RTABLE FETCH pg_RTABLE_cur INTO :nzSERVER, :nzTABLE, :nCNAME, :nCPOS, :nCTYP, :nCLEN, :nCDEC, :nCVIR , :nzTEXT, :nCTEXT;
fprintf(stderr, "\n db_read_RTABLE \n zSERVER: %s \n zTABLE: %s \n zNAME: %s \n CPOS: %d \n CTYP: %s \n CLEN: %d \n CDEC: %d \n CVIR: %d \n zTEXT: %s \n CTEXT: %s \n",
nzSERVER, nzTABLE, nCNAME, nCPOS, nCTYP, nCLEN, nCDEC, nCVIR, nzTEXT, nCTEXT);
return;
};
}
resultat
db_read_RTABLE
zSERVER: CGIFCH
zTABLE: FTCPAY
zNAME: TCCPAY
CPOS: 1
CTYP: character
CLEN: 3
CDEC: 0
CVIR: 0
zTEXT:
CTEXT:
donc pas de recuperation des comment alors que sous pgadmin cela fonctionne
ok c'est le programme mais y a t-il quelqu'un qui peux me dire OU !!!!!!!!!!!!!!!
bonjour,
http://forums.postgresql.fr/viewtopic.php?id=3323
ce script ne marche pas avec ecpg
si je fais cela avec un script compile pl/pgsql est ce que cela vas marché et peut-on m'aider pour mon premier script exemple (svp avec paramètre entrer et sortie ) merci
ps je suis en accès full en développement interne en prise direct sous linux
char *prod = "unix:postgresql://localhost:5432/CGIFCH";
la connexion est excellente
EXEC SQL CONNECT TO :prod AS pg_RTABLE USER :user USING :using ;
etc...
j'essaye de te donner un max d'info
merci
bonjour,
si je met l'ordre select avec pgadmin cela fonctionne parfaitement
sans solution !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
par contre en c++ avec EXEC SQL
j’obtiens tous sauf la partie table_comment et column_comment
je n'ai pas de problème pour la connexion je traite mes tables correctement c'est juste que je voudrais préparer mon descripteur en xml donc récupérer la description pour faire mes fichiers xml et automatiser des procédures lier avec CGI
d'ailleurs tu peux coller l'ordre dans PGADMINIII en chg MA_BDNAME e tMA_TABLE ça fonctionne parfaitement
SELECT
cl.table_catalog,cl.table_name,
cl.column_name,cl.ORDINAL_POSITION,cl.DATA_TYPE,cl.CHARACTER_MAXIMUM_LENGTH,cl.NUMERIC_PRECISION,cl.NUMERIC_SCALE
,(select pg_catalog.obj_description(oid) from pg_catalog.pg_class c where c.relname=cl.table_name) as table_comment
,(select pg_catalog.col_description(oid,cl.ordinal_position::int) from pg_catalog.pg_class c where c.relname=cl.table_name) as column_comment
FROM information_schema.columns cl
WHERE cl.table_catalog ='MA_BDNAME' and cl.table_name ='MA_TABLE'
bonjour,
SELECT
cl.table_catalog,cl.table_name,
cl.column_name,cl.ORDINAL_POSITION,cl.DATA_TYPE,cl.CHARACTER_MAXIMUM_LENGTH,cl.NUMERIC_PRECISION,cl.NUMERIC_SCALE
,(select pg_catalog.obj_description(oid) from pg_catalog.pg_class c where c.relname=cl.table_name) as table_comment
,(select pg_catalog.col_description(oid,cl.ordinal_position::int) from pg_catalog.pg_class c where c.relname=cl.table_name) as column_comment
FROM information_schema.columns cl
WHERE cl.table_catalog='CGIFCH' and cl.table_name='FTCPAY'
order by 4 ;
cette requête ne marche qu'avec pgadmin III
pourquoi svp
j'aurais apprécié ne pas éclater cette requête en trois
=============================================
après récupération db2
résultat pgadmin
table field ord type length len num len apres virgule text table text field
"CGIFCH";"FTCPAY";"TCCPAY";1 ;"character"; 3 ; ; ;"CODE PAYS";"CODE PAYS"
"CGIFCH";"FTCPAY";"TC999E";2 ;"numeric" ; ;8 ;0 ;"CODE PAYS";"DATE DE CREATION ENR"
résultat C++ ECPG
"CGIFCH";"FTCPAY";"TCCPAY";1 ;"character";3 ; ; ;
"CGIFCH";"FTCPAY";"TC999E";2 ;"numeric" ; ;8 ;0 ;
EXEC SQL AT pg_RTABLE DECLARE pg_RTABLE_cur CURSOR FOR
SELECT
cl.table_catalog,cl.table_name,
cl.column_name,cl.ORDINAL_POSITION,cl.DATA_TYPE,cl.CHARACTER_MAXIMUM_LENGTH,cl.NUMERIC_PRECISION,cl.NUMERIC_SCALE
,(select pg_catalog.obj_description(oid) from pg_catalog.pg_class c where c.relname=cl.table_name) as table_comment
,(select pg_catalog.col_description(oid,cl.ordinal_position::int) from pg_catalog.pg_class c where c.relname=cl.table_name) as column_comment
FROM information_schema.columns cl
WHERE cl.table_catalog =:zdbname and cl.table_name =:zfile
ORDER BY 4 ;
EXEC SQL AT pg_RTABLE OPEN pg_RTABLE_cur ;
EXEC SQL AT pg_RTABLE FETCH pg_RTABLE_cur INTO :zSERVER, :zTABLE, :CNAME, :CPOS, :CTYP, :CLEN, :CDEC, :CVIR, :zTEXT, CTEXT;
Pages : 1