Vous n'êtes pas identifié(e).
Merci pour votre prompte réponse.
J'ai fait ce qui est indiqué sur la page : http://yallalabs.com/linux/how-to-insta … 16-04-lts/
Mais le setup.py ne me demande pas le un/pw.
Je ne vais pas vous demander de me suivre jusqu'à la solution. Ce serait inhumain ;-)
Mais j'aimerais vous poser une question. Ne pensez-vous pas que la procédure d'installation de pgadmin4 n'est pas encore au point ?
Merci et bonne journée
Bonjour,
Après avoir travaillé dur, j'avais réussi à installer pgadmin4 sur Ubuntu 15.10.
De retour chez mon client, je veux faire la même chose sur le serveur Ubuntu 16.04.
Mais je n'arrive pas à voir où je dois donner un username/password alors que cela m'avait été demandé par l'installation sur la 15.10.
J'ai fait plusieurs installations à partir des différentes procédures que j'ai trouvées sur le net.
Je ne suis pas arrivé à trouver sur la page de pgadmin4 une procédure d'installation.
Pourriez-vous éclairer ma lanterne ?
Merci
http://127.0.0.1:5050 au lieu de http://localhost:5050
et ça marche
serait-ce un problème dans mon pg_hba.conf ?
Bonjour,
J'installe la 9.6. Pgadmin3 n'étant plus compatible, j'installe pgadmin4 en suivant http://yallalabs.com/linux/how-to-insta … ntu-16-04/
J'ai ubuntu 15.10 et j'installe pgadmin4 1.6.
Tout va bien ! pgadmin4 fonctionne bien.
Je reboote mon ordi.
Je veux redémarrer pgadmin4 et je reçois le message : ImportError: No module named htmlmin.minify
Je cherche à corriger en suivant : http://techqa.info/programming/question … n-pgAdmin4
Je ne plus le message ImportError: No module named htmlmin.minify
Mais quand j'ouvre la page, je reçois Error message undefined et pgadmin attend.
pgadmin4 est très joli mais sa procédure d'installation est un peu trop compliquée pour ma petite tête.
Quelqu'un pourrait m'aider ?
Merci
Bonjour,
La méthode consiste à créer une vue avec toutes les jointures que l'on veut.
En ensuite attacher à cette vue un trigger instead of insert, update, delete.
Mais il se fait que je veux passer un ou plusieurs paramètres à cette vue pour sa clause where.
Pour ce faire, j'encapsule le query dans une fonction qui renvoie une table et qui reçoit ces paramètres.
Mais alors, je ne vois pas où je dois attacher un trigger !
Pourriez-vous m'indiquer une piste ?
Merci pour votre attention et bon week-end
merci
en fait, c'est mieux sans GUI
comme ça, on peut le mettre dans un script
pgsync a l'air de convenir également
il semble qu'il y ait encore beaucoup de programmes de synchronisation pour pg
difficile de choisir
bonne fin de journée
Bonjour,
Je suis très content avec dbForge Data Compare for PostgreSQL! (https://www.postgresql.org/about/news/1440/)
Mais ça ne tourne que sur Windowz.
Pourriez-vous me conseiller un logiciel équivalent qui tourne sur Linux ?
Merci
Oui! Bien sûr ! J'avais lu dans la mauvaise colonne ! Merci et bonne journée à vous
Merci pour votre prompte réponse.
Je ne voyais pas le lien entre l'OID de la db et les folders dans /var/lib/postgresql/9.5/main/base/
Bonne fin de journée
Bonjour,
J'aimerais assurer à mon client que s'il fait un drop d'une db, elle disparait complétement.
Les fichiers physiques sont-ils réellement effacés après un drop database ? Ou faut-il les effacer au niveau de l'OS ?
Merci pour votre attention
Effectivement, votre système a l'avantage d'être fidèle au modèle relationnel comme je l'avais écrit dans une vie précédente :
We changed the data structure for the implementation of Adjacency List Model for trees with relational operators.
Instead of
tree(node_id, node_up_id, topic)
where node_up_id is a reference (FK) to node_id
we use a two-tables representation of a tree :
nodes(node_id, topic)
edges(from_node, to_node)
where from_node and to_node are references (FKs) to nodes.node_id
It’s always better to use normalized data model.
It takes often a bit of effort but the queries will be easier to design.
We implement in PostgreSQL this model :
create sequence node_sequence;
create table nodes (
node_id integer not null
default nextval('node_sequence')
primary key
,topic varchar(128)
);
create table edges (
from_node integer not null
references nodes(node_id)
on update cascade
,to_node integer not null
references nodes(node_id)
check (from_node != to_node)
,primary key(from_node, to_node)
);Le seul procédé pour avoir des dbs sur des suppots amovibles est, donc, backup/restore entre le serveur où tourne l'instance et le support externe.
Ai-je bien compris le fond de votre réponse ?
Un grand merci pour votre aide dans cette affaire délicate.
Bonne soirée à vous deux
Je viens de créer un tablespace dont la location physique est sur la clé usb.
Et ensuite un db sur ce ts.
Je fais un disconnect de la db. Et, en Linux, je fais un umount de l'usb.
Tout à l'air de bien fonctionner. Je peux travailler sur les autres dbs.
Et si j'essaie d'ouvrir la db qui est sur l'usb, je reçois un gentil message d'erreur. (Ceci dit, cela ne devrait pas se produire car c'est l'application cliente qui choisit la db).
Pensez-vous que ce scénario est viable à long terme ?
Que conseilleriez-vous donc ?
Une solution : on copie la db de l'usb vers l'instance, on travaille dessus, on la recopie vers l'usb et on la droppe sur l'instance.
Qu'en pensez-vous ?
Voilà une réponse qui m'étonne ;-)))
Mais le client est très content de PosrgreSQL suite au succès de la migration d'une db importante pour lui.
Je ne crois pas que cette réponse va lui plaire.
Il me faut absolument une solution en PostgreSQL.
N'auriez-vous pas une autre idée ?
Des CTEs récursives sur des tables autoréférentielles : http://www.postgresonline.com/journal/a … tures.html
Ou alors ltree : https://www.postgresql.org/docs/9.2/static/ltree.html
Bonjour,
Mon client veut mettre des dbs sur une clé usb.
L'instance sur le serveur doit attacher et détacher ces dbs à la demande. Cette instance contient par ailleurs des dbs qui sont sur le disque.
Dans quelle direction dois-je aller : un tablespace sur la même instance, une instance spéciale pour les dbs sur usb, un cluster, slony... ?
Merci pour votre attention
Voici le trigger qui historise dans le schema 'deleted' qui contient toutes les tables du schema public et qui sont vides à l'origine des temps :
CREATE OR REPLACE FUNCTION public.audit_d()
RETURNS trigger AS
$BODY$
declare
stmt varchar;
begin
insert into public.audit_history
(table_name, operation, audit_id, user_name, audit_date)
values
(TG_TABLE_NAME, TG_OP, old.audit_id, current_user, now());
stmt := 'insert into deleted.'
|| quote_ident(TG_TABLE_NAME)
|| ' select * from public.'
|| quote_ident(TG_TABLE_NAME)
|| ' where audit_id = $1;';
execute stmt using old.audit_id;
return old;
end; Cher Monsieur Vérité,
Une fois de plus, vous apportez la lumière dans les ténèbres.
De fait, je suis passé à un système qui historise les records deletés dans un autre schema et qui les delete pour de bon dans le schéma public.
Ceci dit, Access en front-end d'un db pg marche bien.
Une fois de plus, un grand merci à vous. Et à Guillaume, bien sûr.
Bonne soirée à tous les deux
Je crains que la solution du problème soit du côté PG.
J'ai implementé un delete logique au moyen d'un trigger pre delete qui met à jour un champ du record.
Voici un morceau du trigger function :
stmt := 'update public.'
|| quote_ident(TG_TABLE_NAME)
|| ' set deleted_when = now() ,deleted_by = '
|| ''''
|| current_user
|| ''''
|| ' where ';
case TG_TABLE_NAME
when 'tblActions_data' then
stmt := stmt || '"ActionID" = $1;';
execute stmt using old."ActionID";Si je disable le trigger, le problème est résolu. N'y aurat-il pas moyen de dire à la fonction de ne pas envoyer de message au front-end ?
[
Oui et non parce que c'est une migration d'Access vers PG. Le front-end reste en Access. Connaissez-vous une application cliente aussi bonne qu'Access/VBA pour PG ?
...because you and another user are attempting to change the same data at the same time.
Voilà le message que j'obtiens alors que je suis seul à travailler sur cette base de données.
Il s'agit d'un recordset dont je mets à jour un record.
Sur le net, j'ai trouvé des pages qui mettent en cause des champs boolean ou timestamp mais ce n'est pas le cas ici.
Avez-vous une petite idée ?
Merci
...because you and another user are attempting to change the same data at the same time.
Voilà le message que j'obtiens alors que je suis seul à travailler sur cette base de données.
Il s'agit d'un recordset dont je mets à jour un record.
Sur le net, j'ai trouvé des pages qui mettent en cause des champs boolean ou timestamp mais ce n'est pas le cas ici.
Avez-vous une petite idée ?
Merci
pour ma part, j'ai utilisé BullZip, ça marche pas trop mal (problèmes avec les fk multi-colonnes)
xxxxx lien supprimé, voir commentaire xxxxx
bien à vous