PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

Table temporaire

Technique - général | Table temporaire

Par eclairLucie le 22/03/2006 - 18:24

Bonjour,

J'utilise dans un traitement une table temporaire, mais dans certaines occasions (rare) il semble qu'une autre session "voie" la table temporaire lorsqu'on lance à nouveau l'application.

Comme le problème ne s'est jamais produit sur mon site, mais sur des sites distants non accessibles, je manque d'information.

Le contexte d'utilisation est le suivant :
PostgreSQL 8.0.3 sur Windows. Application en Java 1.3 avec driver JDBC version ???

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder les paramètres" pour activer vos changements.

Bonjour, Les tables temp

Jean-Paul Argudo/ = 23 Mars, 2006 - 10:02

Bonjour,

Les tables temporaires dans PostgreSQL ne vivent que le temps d'une session (BEGIN ..... COMMIT/ROLLBACK). Il est impossible dès lors qu'une session voit les tables temporaires d'une autre.

De même la surcharge est possible: une table temporaire du même nom qu'une table "normale" peut être créée, c'est alors elle qui prévaut dans la session (en absence de nommage avec schéma)...

test2=> begin;
BEGIN
test2=> select * from foo;
a | b | c
---+---+---
5 | 6 | 7
6 | 7 | 8
| 9 |
(3 lignes)

test2=> create TEMP table foo (a integer, b integer, c integer);
CREATE TABLE
test2=> select * from foo;
a | b | c
---+---+---
(0 lignes)

test2=> drop table foo;
DROP TABLE
test2=> select * from foo;
a | b | c
---+---+---
5 | 6 | 7
6 | 7 | 8
| 9 |
(3 lignes)

test2=> commit;
COMMIT
test2=> select * from foo;
a | b | c
---+---+---
5 | 6 | 7
6 | 7 | 8
| 9 |
(3 lignes)

Si vous êtes certain de la création de la table en mode TEMPorary, et que vous arrivez à reproduire ce bug, n'hésitez pas à remplir le formulaire html dédié au report d'anomalies, les hackers vous en remercieront..

Cordialement,

--
Jean-Paul ARGUDO
www.dalibo.com


© PostgreSQLFr, tous droits réservés.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.