Vous n'êtes pas identifié(e).
Bonjour,
il faut utiliser une colonne avec un DEFAULT.
Par exemple, si vos 3 premières colonnes sont des text et la dernière un entier qui doit toujours être "5", il suffit de créer votre table comme ceci :
create table la_table(
col1 text,
col2 text,
col3 text,
col4 integer default 5);par contre, il faut bien que votre CVS comporte 3 colonnes et non 4.
Juste une petite précision pour le 'Reindex'.
Sur les serveurs de Prod, nous créons un nouvel index (identiques à celui que l'on souhaite ré-indexer) en mode "CONCURRENTLY" puis je supprime le vieux et je renomme le nouveau.
Exemple pour l'index idx_patate :
SQL> create index CONCURRENTLY idx_patate_prov on la_table(la_colonne1, la_colonne2);
...
SQL> drop index idx_patate;
...
SQL> alter index idx_patate_prov rename to idx_patate;Et Zou !
C'est bien de critiquer sans avoir lu ! Cela montre le niveau des intégristes de PostGreSQL... A quand le tchador ?
A +
Etant donnée les titres de votre sommaire et connaissant assez bien vos interventions/troll poilues (NG bases de données, logiciels libre, ce forum, ...), je ne vois pas l'intérêt de lire cette chose. Je ne suis pas intégriste, la preuve : je vous parle ... mais ça commence à me fatiguer de vous voir critiquer tout et n'importe quoi !
Quel plaisir trouvez vous à venir critiquer en permanence (et depuis très longtemps : tout le monde peut rechercher votre nom sur les newsgroups) tout ce qui n'est pas conforme à votre choix ?
Monsieur SQLPro, étant donnée votre avis (ridicule) sur le monde du libre (http://blog.developpez.com/sqlpro/p1032 … u-comment/) et votre avis concernant Postgresql (tout aussi ridicule), ne serait-il pas plus simple de fermer votre compte sur ce forum et de rester avec votre windows et votre SQLServer loin de nous ?
Ce devient n'importe quoi ...
je ne suis pas administrateur, mais je me demande ce que Mr SQLPro (?!) fait sur ce forum.
Je ne vois pas l’intérêt de venir ici pour dénigrer Postgresql et vendre sa soupe (articles, blog, livres, SQLServer, ...).
Ce forum a pour objectif d'aider les gens, pas de passer son temps à troller sur des moteurs de base de données qui ne nous intéressent pas !
Je ne vais pas lire votre article, car le sommaire sonne déjà comme un appel au troll et est déjà complètement faux.
Y a t'il une option ignorer dans ce forum ? ![]()
Bonjour,
Pour un nouveau projet, sans hésitation => 9.1.1
Les journaux de transactions dépendent de l'activité (sur laquelle vous ne pouvez pas faire grand-chose) et du nombre de CHECKPOINT (car après un CHECKPOINT, on enregistre des blocs complets pour les nouveaux blocs modifiés). Donc votre seule solution, c'est d'augmenter les paramètres checkpoint_segments et checkpoint_timeout. Essayez par exemple avec un checkpoint_segments à 20 et un checkpoint_timeout à 15 minutes.
Bonjour,
Ça va juste retarder l’écriture des données sur disque (dans la base), cela ne va pas empêcher la génération de fichiers WAL.
Comme le dit Gleu, si la base a de l'activité (transactions), vous allez générer des fichiers WAL ...
Bonjour,
Que donne un "select * from pg_stat_activity;" lorsque la base "bloque" ?
Avez vous des erreurs dans vos logs (Deadlock) ?
Quand vous observez le % de CPU utilisé, qu'avez vous en %wa ?
Remarques concernant les actions de maintenance :
1/ temps min / max /moyen de traitement d'une requête http => log_min_duration du fichier postgresql permet de logger les requêtes trop longues
2/ Quid des vacuum / analyse ?
select
current_database(),
schemaname || '.' || relname as table,
to_char(last_vacuum,'DD-MM-YYYY HH24:mi') as lastvacuum,
to_char(last_autovacuum,'DD-MM-YYYY HH24:mi') as lastautovacuum,
to_char(last_analyze,'DD-MM-YYYY HH24:mi') as lastanalyze,
to_char(last_autoanalyze,'DD-MM-YYYY HH24:mi') as lastautoanalyze
from
pg_stat_user_tables
order by
2http://docs.postgresqlfr.org/9.0/sql-copy.html
...
FROM { 'nom_fichier' | STDIN }
...
TO { 'nom_fichier' | STDOUT }
...^
bdcp=> select '201107'::timestamp; -- bizarre car erreur de formatage
timestamp
---------------------
2020-11-07 00:00:00
(1 row)
Non, tout est normal => 20 11 07 (YYMMDD)-> 2020 - 11 - 07
Etrange qu'il n'affiche pas d'erreur, inversement, sa réponse correspondre à une logique :
select to_timestamp('2011070500','YYYYMMDD');
2011 - 07 - 0 + 500 jours : on ne doit pas etre loin du 2012-11-11
select to_timestamp('20111302','YYYYMMDD');
2011 - 12 + 1 - 02 = 2012-01-02
Quelque chose a changé qui puisse expliquer ce (probable) changement ? (MAJ postgresql, changement dans votre appli, utilisation de pooler de connexion...)
A part la mise en place d'un Warm standby : rien de spécial ...
Dans tous les cas, merci pour ta réponse.
Je vais essayer de trouver plus d'infos, et si je trouve qq chose, je transmets sur le forum.
je double-post aussi :
ce n'ai pas les tables temporaires qui restent, mais les pg_temp_*
Merci pour ta réponse.
Je ne remets pas en cause Tom Lane (je ne veux pas avoir de problème !
).
Ce que je trouve surprenant, c'est que le ménage ne soit pas fait dans les schémas et les tables (alors que les sessions ayant fait les tables temporaires sont finies) et que j'ai l'impression que c’était fait avant (peut être une mauvaise impression mais vu la quantité de schémas / tables temporaires qui trainent, je ne vois comment j'ai pu ne pas les remarquer avant)
Bonjour,
Je viens de remarquer qu'un de mes cluster génère une grande quantité de pg_toast_temp et de pg_temp.
J'ai loggé les DDL pour surveiller la création des tables temporaires. Un soft seulement utilise des tables temporaires, il se connecte toutes les minutes, créé une TEMP TABLE, travaille, et se déconnecte (sans dropper la table temporaire mais ca ne doit pas poser de soucis).
en psql :
arthurr=# \dn
List of schemas
Name | Owner
--------------------+----------
information_schema | postgres
pg_catalog | postgres
pg_toast | postgres
pg_toast_temp_10 | postgres
pg_toast_temp_14 | postgres
pg_toast_temp_16 | postgres
pg_toast_temp_17 | postgres
pg_toast_temp_18 | postgres
pg_toast_temp_19 | postgres
pg_toast_temp_20 | postgres
pg_toast_temp_21 | postgres
pg_toast_temp_22 | postgres
pg_toast_temp_23 | postgres
pg_toast_temp_24 | postgres
pg_toast_temp_25 | postgres
pg_toast_temp_26 | postgres
pg_toast_temp_27 | postgres
pg_toast_temp_28 | postgres
pg_toast_temp_29 | postgres
pg_toast_temp_30 | postgres
pg_toast_temp_31 | postgres
pg_toast_temp_33 | postgres
pg_toast_temp_34 | postgres
pg_toast_temp_35 | postgres
pg_toast_temp_37 | postgres
pg_toast_temp_4 | postgres
pg_toast_temp_44 | postgres
pg_toast_temp_5 | postgres
public | postgres
(29 rows)arthurr=# select * from pg_tables where tablename like 'pg_temp%';
schemaname | tablename | tableowner | tablespace | hasindexes | hasrules | hastriggers
------------+-----------+------------+------------+------------+----------+-------------
(0 rows)arthurr=# select * from pg_namespace where nspname like 'pg%temp%';
nspname | nspowner | nspacl
------------------+----------+--------
pg_temp_1 | 10 |
pg_toast_temp_20 | 10 |
pg_temp_33 | 10 |
pg_toast_temp_14 | 10 |
pg_temp_35 | 10 |
pg_temp_28 | 10 |
pg_toast_temp_17 | 10 |
pg_temp_30 | 10 |
pg_toast_temp_24 | 10 |
pg_temp_12 | 10 |
pg_toast_temp_35 | 10 |
pg_temp_11 | 10 |
pg_toast_temp_26 | 10 |
pg_temp_16 | 10 |
pg_toast_temp_31 | 10 |
...
...
pg_temp_100 | 10 |
pg_temp_110 | 10 |
pg_toast_temp_18 | 10 |
(131 rows)Après avoir fouillé sur notre ami google, j'ai trouvé des réponses du genre "Ignore them." (© Tom Lane), mais je trouve ça étrange car je n'avais pas ce comportement avant ...
Qq'un a une explication afin que je puisse dormir tranquillement ?
Merci.
select id_tache, max(date_maj) from latable group by id_tache;
Bonjour,
Pour faire du debug de plpgsql, le couple Pgadmin + edb-debugger est un réel plaisir !
à trouver ici :
http://pgfoundry.org/projects/edb-debugger/
Bucardo => à partir de la 8.1
Concernant Bucardo (que j'utilise avec bonheur en version 4.4), il y a un article sur la version 5.0 (en dev) avec des exemples :
http://blog.endpoint.com/2011/06/bucard … resql.html
gleu : on a une idée de la première intégration de l'outil de Luis dans la version GIT de pgadmin ?
j'avais testé une version l'an dernier (je crois), mais j'avais trouvé ça compliqué à intégrer / compiler.
right_attribut || '= ''cameron''';
Bonjour,
chez moi, duration: 1220.828 ms correspond à 1,220 secondes soit 1220 ms donc vos 8.777 correspondent à 8 ms
pas obligatoirement par dossier.
Pour voir les montages / espace libre, tapez en console : df -h
Bonjour,
Si pas de problème de droits, problème d'espace disque ?