Vous n'êtes pas identifié(e).
Pages : 1
Je decouvre Postgres et essaye de comprendre .
Je peux vous certifier que je ne manipule pas les catalogues system . Si j'ai deleté un record c'est après avoir rencontré le problème décrit dans mon mail d'origine.
Pour info, après avoir deleté le record dans pg_type, j'ai pu recréer ma table et la policy qui y est associée..
Par contre je n'arrive pas à dropper la table pg_catalog.pg_rowsecurity : message error ERROR: cache lookup failed for type 18279
Merci pour votre aide
Ok , mais j'avais déjà essayé le drop de pg_type sans succès. Le système me disait de dropper la table . Ceci dit, je ne trouve pas normal que l'on puisse deleter des records dans des tables systèmes.
Cela mis à part , comment expliquer qu'à un certain moment j'ai perdu cette table ou plus précisément qu'elle ait été renommée en pg_catalog.pg_rowsecurity ?
Merci de m'éclairer à ce sujet .
J'ai lancé la commande delete from pg_type WHERE typname='alain';
Il fallait faire quoi ?
J'ai deleté pg_type . Maintenant j'essaie de renomme la table pg_catalog.pg_rowsecurity to alain (nom de la table qui a disparu) .
et j'ai le message suivant :
ERROR: cache lookup failed for type 18279
Bonjour,
aucun record trouvé
Alain
J'ai créé une policy sur une table . J'ai créé un user et j'ai donné accès à cette table avec les restrictions définies au niveau de la policy .
Cà marchait bien , puis tout à coup , la table a disparu comme si elle n'existait plus . J'ai essayé de la recréer et j'ai eu un message d'erreur signalant qu'elle existait encore : ERROR: type "alain"
already exists
HINT: A relation has an associated type of the same name, so you must use a
name that doesn't conflict with any existing type.
Dans pg_tables , la table n'existe plus . Par contre elle existe encore dans pg_type.
J'ai essayé de dropper la policy sans succès parce que la table associée à la policy n'existe plus .
Après qques recherches j'ai retrouvé les données de ma table dans une table nommée pg_catalog.pg_rowsecurity.
Ma question : comment procéder pour recréer ma table ?
Bonjour,
effectivement j'ai killé par un kill -9 . Merci pour vos infos . Je regarde cela tranquillement .
Bon we
Merci pour vos réponses.
Effectivement la db n'est pas corrompue. Je l'ai arrêtée et redémarrée sans problème . Cependant je n'ai toujours pas récupéré mes 30 gigas .
Ce sont probablement des fichiers temporaires créé par Vacuum . Donc je réédite ma question : comment récupérer cet espace ?
J'ai killé le process vacuumdb . Je sais que ce n'est pas très 'propre' mais dans le même temps je simulais un crash .
Je ne l'aurais pas killé sur une db de production.
Bonjour,
j'ai killé un vaccuum full et je m'aperçois que l'espace déjà utilisé par le vacuum n'est pas récupéré . Comment identifier cet espace alloué temporairement par le vacuum . Je voudrais le remover de mon disk .
Merci pour vos bons conseils
Merci pour l'info .
Je vais tester tout cela
Bonjour ,
je suis un nouvel utilisateur Postgres , je me familiarise avec le produit.
J'ai créé une db dans laquelle on insert et delete pas mal de records . La taille des tables augmentent donc considérablement . Pour récupérer l'espace disk , je lance un Vacuum .
Deux questions :
1) la table est lockée pendant le vacuum , y-a-t-il une possibilité de lancer un vacuum sans locker la table .
2) les indexes sont aussi recréés . Est-il possible de ne pas générer les Wals pendant le vacuum et la création des indexes ?
Merci pour vos réponses
Pages : 1