PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Re : PgAdmin3 » Exécuter des fichiers SQL à partir d'un fichier SQL source » 07/12/2018 19:00:24

C'est effectivement possible mais avec psql directement:

\i table.sql
\i vue.sql

etc...

Pour pgadmin, je l'ignore par contre

Cordialement

#2 Re : Général » Comparer 2 dates » 19/10/2017 21:43:12

Bonsoir,
  tes dates sont bien enregistrées dans des colonnes au format date ?

Sinon, il faudrait peut être les transformer avant avec un to_date('15/10/2017','DD/MM/YYYY')

@+

#3 Re : Installation » [Résolu] service enable sur une fedora 26 » 21/09/2017 22:41:45

Bonsoir,
  contre toute attente, ça marche aujourd'hui ! j'ignore si c'est la dernière mise à jour.

Par contre, il me semble que lorsque j'ai parlé du problème, tous les fichiers dans le repertoire

 /etc/systemd/system/multi-user.target.wants/ 

étaient en dur. aujourd'hui tout est en lien ! est ce l'effet du daemon-reload ?

Merci à tous de votre  aide.

#4 Re : Installation » [Résolu] service enable sur une fedora 26 » 19/09/2017 07:32:54

Bonjour, après vérification sur une autre machine, même type d'installation (Fedora 25 -> Fedora 26), postgresql se lance au démarrage sans soucis et le fichier service est rigoureusement le même.

#5 Re : Installation » [Résolu] service enable sur une fedora 26 » 18/09/2017 14:54:15

J'ai mis à jour le copier collé du fichier service , j'avais malheuresement raté un bout sur le précédent.

#6 Re : Installation » [Résolu] service enable sur une fedora 26 » 18/09/2017 10:47:57

Bien sur:

# It's not recommended to modify this file in-place, because it will be
# overwritten during package upgrades.  It is recommended to use systemd
# "dropin" feature;  i.e. create file with suffix .conf under
# /etc/systemd/system/UNITNAME.service.d directory overriding the
# unit's defaults.  Look at systemd.unit(5) manual page for more info.

[Unit]
Description=PostgreSQL database server
After=network.target

[Service]
Type=forking

User=postgres
Group=postgres

# Where to send early-startup messages from the server (before the logging
# options of postgresql.conf take effect)
# This is normally controlled by the global default set by systemd
# StandardOutput=syslog

# Disable OOM kill on the postmaster
OOMScoreAdjust=-1000
# ... but allow it still to be effective for child processes
# (note that these settings are ignored by Postgres releases before 9.5)
Environment=PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj
Environment=PG_OOM_ADJUST_VALUE=0

# Maximum number of seconds pg_ctl will wait for postgres to start.  Note that
# PGSTARTTIMEOUT should be less than TimeoutSec value.
Environment=PGSTARTTIMEOUT=270

Environment=PGDATA=/var/lib/pgsql/data

ExecStartPre=/usr/libexec/postgresql-check-db-dir %N

# Use convenient postgresql-ctl wrapper instead of directly pg_ctl.  See the
# postgresql-ctl file itself for more info.

ExecStart=/usr/libexec/postgresql-ctl start -D ${PGDATA} -s -w -t ${PGSTARTTIMEOUT}
ExecStop=/usr/libexec/postgresql-ctl stop -D ${PGDATA} -s -m fast
ExecReload=/usr/libexec/postgresql-ctl reload -D ${PGDATA} -s

# Give a reasonable amount of time for the server to start up/shut down.
# Ideally, the timeout for starting PostgreSQL server should be handled more
# nicely by pg_ctl in ExecStart, so keep its timeout smaller than this value.
TimeoutSec=300

[Install]
WantedBy=multi-user.target

merci de vous  intéresser au problème.

J'ai googlé sur le sujet mais sans succès.

edit : correction du copié collé

@+

#7 Installation » [Résolu] service enable sur une fedora 26 » 17/09/2017 11:25:09

meles
Réponses : 8

Bonjour,
  voila quelques jours que je me bats avec ma Fedora 26 mise a jour depuis une 25 ou tout fonctionnait bien !

J'ai installé postgresql depui le repo officiel. J'arrive à démarrer le service manuellement en faisant :

$ sudo systemctl start postgresql

avec ce résultat:

$ sudo systemctl status postgresql
● postgresql.service - PostgreSQL database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2017-09-17 10:47:12 CEST; 33min ago
  Process: 4603 ExecReload=/usr/libexec/postgresql-ctl reload -D ${PGDATA} -s (code=exited, status=0/SUCCESS)
  Process: 4158 ExecStart=/usr/libexec/postgresql-ctl start -D ${PGDATA} -s -w -t ${PGSTARTTIMEOUT} (code=exited, status=0/SUCCESS)
  Process: 4156 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql (code=exited, status=0/SUCCESS)
 Main PID: 4160 (postgres)
    Tasks: 7 (limit: 4915)
   CGroup: /system.slice/postgresql.service
           ├─4160 /usr/bin/postgres -D /var/lib/pgsql/data
           ├─4161 postgres: logger process   
           ├─4163 postgres: checkpointer process   
           ├─4164 postgres: writer process   
           ├─4165 postgres: wal writer process   
           ├─4166 postgres: autovacuum launcher process   
           └─4167 postgres: stats collector process   

sept. 17 10:47:11 localhost.localdomain systemd[1]: Starting PostgreSQL database server...
sept. 17 10:47:11 localhost.localdomain postgresql-ctl[4158]: LOG:  redirection des traces vers le processus de récupération des traces
sept. 17 10:47:11 localhost.localdomain postgresql-ctl[4158]: ASTUCE :  Les prochaines traces apparaîtront dans le répertoire « pg_log ».
sept. 17 10:47:12 localhost.localdomain systemd[1]: Started PostgreSQL database server.
sept. 17 10:52:16 localhost.localdomain systemd[1]: Reloading PostgreSQL database server.
sept. 17 10:52:16 localhost.localdomain systemd[1]: Reloaded PostgreSQL database server.

mais impossible de le faire se lancer au démarrage avec la commande habituelle:

$ sudo systemctl enable postgresql

j'obtiens ce message d'erreur:

$ sudo systemctl enable postgresql
Synchronizing state of postgresql.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable postgresql
erreur lors de la lecture d'informations sur le service postgresql : Invalid argument

le répertoire /var/lib/pgsql/data est créé correctement et postgresql fonctionne lors du lancement manuel !

si quelqu'un a une idée, je lui serais reconnaissant car je sèche complètement.

@+

#8 Re : Général » recherche nombre occurence d'une sous chaine dans une chaine de caract » 14/06/2017 23:06:29

rjuju a écrit :

Ce n'est pas lié au SQL, c'est pour spécifier le flag "global" à la recherche regexp, c'est-à-dire ne pas s'arrêter à la première occurence trouvée.

un peu comme dans sed ! big_smile

ravi de la question, je découvre aussi !

@+

#9 Re : Général » [resolu] Performance de \copy » 06/04/2017 23:13:30

Bonsoir et merci de vos réponses, j'ai fait des essais avec FREEZE (je recrée mes tables a chaque fois donc elle sont vides)  et effectivement, j'ai gagné près de 30 % de temps de remplissage.

Merci a tous

#10 Général » [resolu] Performance de \copy » 05/04/2017 23:43:06

meles
Réponses : 3

Bonsoir à tous,
  pour mes besoins au boulot, je crée régulièrement une BDD sous postgresql en important une ribambelle de CSV avec la commande copy via des scripts sql lus par psql. Les plus grosse tables doivent faire quelques dizaine de milliers lignes, voire centaines pour 2 ou 3 d'entre elles (mais avec peu de colonnes), mais pas beaucoup plus.

Je trouve pas ça toujours très rapide (j'utilise une station de travail comme serveur).

Y'a il une methode plus rapide/efficace pour injecter mes données en bases ? un ETL ? python+pandas ? Une stratégie a adopter dans les scripts ?

Cordialement

#11 Re : PSQL » modifier le visuel d'un champ : problème avec cast » 13/06/2016 20:14:39

Bonjour, as tu essayé :
select to_char(tel, '99 9999 9999') from table;  ?

#12 Re : PgAdmin3 » Peut-on lancer une requête à partir d'une valeur dans une table ? » 30/11/2015 01:47:45

Bonsoir,
  sinon, dbeaver permet ce genre de comportement (filtrer en clic droit sur une valeur) et offre également la complétion, ce qui est bien agréable.

#13 Re : Général » Probleme Encodage » 22/11/2014 17:20:51

Bonjour, manifestement  tu es sous Windows, je te conseille donc de récupérer Notepad++, d'ouvrir ton fichier avec, de convertir en UTF-8 (sans bom) et de le sauver tel quel avant de réimporter.

Cordialement

#14 Re : Général » Date mediane » 23/05/2014 09:00:42

Autre solution, en se référent à la formule de cette page: http://wiki.postgresql.org/wiki/Aggregate_Median
on convertit les dates en délais (admettons que ma plantation soit en 2014-03-01):

select gr,median(stade-'2014-03-01')  from test group by gr

a rajouter à la date de plantation (mais j'ai du mal avec les opération sur les dates).

Cordialement

#15 Re : Général » Date mediane » 23/05/2014 08:53:21

Sinon, pour repartir de ton exemple:

/*
create table test ( id int, gr char(1), stade date);
insert into test values (1,'A','2014-05-22');
insert into test values (2,'A','2014-05-19');
insert into test values (3,'A','2014-05-20');
insert into test values (4,'B','2014-05-15');
insert into test values (5,'B','2014-05-13');
insert into test values (6,'B','2014-05-14');
insert into test values (7,'B','2014-05-16');
*/

with foo as(
 with tmp as (
  select gr, stade, rank() over (partition by gr order by stade asc) from test
  )
 select gr, round(max(rank+1)/2) as rank
 from tmp 
 group by gr), bar as (select gr, stade, rank() over (partition by gr order by stade asc) from test
)
select bar.gr, bar.stade
from foo inner join bar using (gr, rank)

me donne:
"A";"2014-05-20"
"B";"2014-05-14"

mais vu le code alambiqué, je doutes que ce soit très perfomant sur des très grosse séries.

Cordialement

#16 Re : Général » Date mediane » 23/05/2014 08:30:28

Bonjour, s'agissant de traiter une médiane, j'imagine qu'au delà de la date médiane, il s'agit de calculer le délai median entre la plantation et l'épiaison. Pourquoi dans ce cas ne pas calculer ces délais en amont, quitte à reconvertir en date si  besoin. Faire une médiane sur un entier est déjà plus simple. Ne pas oublier également que la médiane se calcule différemment suivant que le nombre de valeurs est pair ou impair.

Mais faire des stats sur des dates, c'est toujours assez prise de tête.

@+

#17 Re : Général » smallint ?? » 18/11/2013 18:58:05

Merci pour le lien, c'est beaucoup plus pointu que ne le laissait supposer ma question puisque même l'ordre des tables à une importance.

Au final, dans mon cas, le gain sera marginal.

Cordialement

#18 Re : Général » smallint ?? » 18/11/2013 18:08:40

Jusqu'ici, on est bien d'accord.

Ce que je me demande, c'est : si pour une valeur dont je sais qu'elle ne dépassera pas 199 par exemple, il est plus intéressant d'utiliser un smallint (2)  ou un integer (4) fera aussi bien sans que ce soit la peine de s'enquiquiner ? Est ce que ça joue vraiment sur les performance ?

@+

#19 Re : Général » Afficher le guillemet simple ? » 18/11/2013 14:29:23

Bonjour,

select 'coucou c''est moi'

devrait le faire.

@+

#20 Général » smallint ?? » 18/11/2013 13:33:38

meles
Réponses : 5

Bonjour à tous,
  y'a t-il un intérêt quelconque (performance) à déclarer des smallint ? ou le integer (int4) classique suffit-il ?

Cordialement

#22 Re : PgAdmin3 » Problème d'importation de fichier .txt dans Pg » 13/04/2013 13:04:49

Le fameux BOM (BYTE ORDER MARK). J'ai essayé de reproduire avec une 9.2 sous linux, sans succès.

C'est donc peut être aussi lié à la version de pg. Un peu plus de renseignment ne serait pas inutile. OS, version de PG, etc...

Cordialement

#23 Re : PgAdmin3 » Problème d'importation de fichier .txt dans Pg » 12/04/2013 22:40:57

patrik a écrit :

La base de données postgres utilise l'encodage UTF8. Si le fichier à importé n'a pas le même encodage, PG ne l'importe pas. A moins que j'ai mal compris ta suggestion, je ne suis pas sûr que le problème vienne de là.

Pourtant, je travaille a moitié sous win et linux et ça a été une bonne source de nuits blanches.
T'es sous quel OS ?

@+

#24 Re : PgAdmin3 » Problème d'importation de fichier .txt dans Pg » 10/04/2013 00:22:40

Bonsoir,
  j'ai déjà eu ce genre de chose. Pb d'encodage du fichier par rapport à pg il me semble.

UTF8 avec BOM, ou un truc dans ce genre.

C'est par la que je commencerai à chercher en tous cas.

Cordialement

#25 Re : Général » ETL avec Postgres » 25/10/2012 00:32:40

Bonsoir,
  ça marche, j'ai déjà fait quelques essais avec, mais je trouve ça un peu usine a gaz (surtout quand on ne cause ni java, ni javascript) pour mes besoins.  J'aurai préféré que ce soit du python !
Cela dit, il y a des choses très puissante dans ce genre d'outils.

Par contre, y'a un truc bizarre, c'est le sens de la flèche sur les composants BDD, il faut faire à l'inverse du feeling !

@+

Pied de page des forums

Propulsé par FluxBB