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 : Optimisation » pg_restore lent » 08/01/2015 16:01:02

sad je peux uniquement modifier ce qui est logiciel.
Système ou matériel physique ne peuvent être modifié.

Windows 2012 x64 (Virtualisé)
16G Ram
Intel Xeon 1.90 Ghz (4 Processeur virtuel)
il est virtualisé via Hyper-V sur un serveur windows 2012 qui est configuré en raid 5

#2 Re : Optimisation » pg_restore lent » 08/01/2015 13:20:55

Bonjour,

je reviens vers vous après avoir du mettre de coté la restauration et sauvegarde de ma base de donnée.


voici donc comment est sauvegardé ma base de donnée
pg_dump.exe --host localhost --port 5432 --username postgres --format custom --blobs --column-inserts --disable-dollar-quoting --file D:\exportBDD\Base_de_test.backup "db_base_test"


une fois la sauvegarde effectuée la restauration d'une base d’environ 1,7G  me prenait au moins 48h !!

comme je le disais plus haut en modifiant les paramètres du fichier postgresql.conf cela ma permis de diminuer le temps de restauration


Paramètre modifié
# - Specifique UPDATE massif -
maintenance_work_mem = 2GB
wal_buffers = 32MB
#fsync = on
synchronous_commit = off
checkpoint_segments = 200
checkpoint_timeout = 20min
checkpoint_warning = 0


j'ai pris note de votre remarque gleu et j'ai donc retiré le paramètre --column-inserts de ma commande de sauvegarde
pg_dump.exe --host localhost --port 5432 --username postgres --format custom --blobs  --disable-dollar-quoting --file D:\exportBDD\Base_de_test.backup "db_base_test"


je suis passer à une restauration de 20min smile


Je me permet d’alourdir mon message avec un extrait de mon fichier postgresql.conf afin que vous pussiez si possible me conseiller sur les bonnes pratiques à adopter pour optimiser mon serveur.

Extrait Postgresql.conf

#------------------------------------------------------------------------------
# RESOURCE USAGE (except WAL)
#------------------------------------------------------------------------------

# - Memory -

shared_buffers = 32MB            # min 128kB
                    # (change requires restart)
#temp_buffers = 8MB            # min 800kB
#max_prepared_transactions = 0        # zero disables the feature
                    # (change requires restart)
# Note:  Increasing max_prepared_transactions costs ~600 bytes of shared memory
# per transaction slot, plus lock space (see max_locks_per_transaction).
# It is not advisable to set max_prepared_transactions nonzero unless you
# actively intend to use prepared transactions.
#work_mem = 1MB                # min 64kB
maintenance_work_mem = 1GB        # min 1MB
#max_stack_depth = 2MB            # min 100kB

# - Disk -

#temp_file_limit = -1            # limits per-session temp file space
                    # in kB, or -1 for no limit

# - Kernel Resource Usage -

#max_files_per_process = 1000        # min 25
                    # (change requires restart)
#shared_preload_libraries = ''        # (change requires restart)

# - Cost-Based Vacuum Delay -

#vacuum_cost_delay = 0ms        # 0-100 milliseconds
#vacuum_cost_page_hit = 1        # 0-10000 credits
#vacuum_cost_page_miss = 10        # 0-10000 credits
#vacuum_cost_page_dirty = 20        # 0-10000 credits
#vacuum_cost_limit = 200        # 1-10000 credits

# - Background Writer -

#bgwriter_delay = 200ms            # 10-10000ms between rounds
#bgwriter_lru_maxpages = 100        # 0-1000 max buffers written/round
#bgwriter_lru_multiplier = 2.0        # 0-10.0 multipler on buffers scanned/round

# - Asynchronous Behavior -

#effective_io_concurrency = 1        # 1-1000; 0 disables prefetching


#------------------------------------------------------------------------------
# WRITE AHEAD LOG
#------------------------------------------------------------------------------

# - Settings -

#wal_level = minimal            # minimal, archive, or hot_standby
                    # (change requires restart)
#fsync = on                # turns forced synchronization on or off
synchronous_commit = off        # synchronization level;
                    # off, local, remote_write, or on
#wal_sync_method = fsync        # the default is the first option
                    # supported by the operating system:
                    #   open_datasync
                    #   fdatasync (default on Linux)
                    #   fsync
                    #   fsync_writethrough
                    #   open_sync
#full_page_writes = on            # recover from partial page writes
wal_buffers = 32MB            # min 32kB, -1 sets based on shared_buffers
                    # (change requires restart)
#wal_writer_delay = 200ms        # 1-10000 milliseconds

#commit_delay = 0            # range 0-100000, in microseconds
#commit_siblings = 5            # range 1-1000

# - Checkpoints -

checkpoint_segments = 200        # in logfile segments, min 1, 16MB each
checkpoint_timeout = 20min        # range 30s-1h
#checkpoint_completion_target = 0.5    # checkpoint target duration, 0.0 - 1.0
checkpoint_warning = 0            # 0 disables

# - Archiving -

#archive_mode = off        # allows archiving to be done
                # (change requires restart)
#archive_command = ''        # command to use to archive a logfile segment
                # placeholders: %p = path of file to archive
                #               %f = file name only
                # e.g. 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f'
#archive_timeout = 0        # force a logfile segment switch after this
                # number of seconds; 0 disables


#------------------------------------------------------------------------------
# REPLICATION
#------------------------------------------------------------------------------

# - Sending Server(s) -

# Set these on the master and on any standby that will send replication data.

#max_wal_senders = 0        # max number of walsender processes
                # (change requires restart)
#wal_keep_segments = 0        # in logfile segments, 16MB each; 0 disables
#replication_timeout = 60s    # in milliseconds; 0 disables

# - Master Server -

# These settings are ignored on a standby server.

#synchronous_standby_names = ''    # standby servers that provide sync rep
                # comma-separated list of application_name
                # from standby(s); '*' = all
#vacuum_defer_cleanup_age = 0    # number of xacts by which cleanup is delayed

# - Standby Servers -

# These settings are ignored on a master server.

#hot_standby = off            # "on" allows queries during recovery
                    # (change requires restart)
#max_standby_archive_delay = 30s    # max delay before canceling queries
                    # when reading WAL from archive;
                    # -1 allows indefinite delay
#max_standby_streaming_delay = 30s    # max delay before canceling queries
                    # when reading streaming WAL;
                    # -1 allows indefinite delay
#wal_receiver_status_interval = 10s    # send replies at least this often
                    # 0 disables
#hot_standby_feedback = off        # send info from standby to prevent
                    # query conflicts



#------------------------------------------------------------------------------
# AUTOVACUUM PARAMETERS
#------------------------------------------------------------------------------

#autovacuum = on            # Enable autovacuum subprocess?  'on'
                    # requires track_counts to also be on.
#log_autovacuum_min_duration = -1    # -1 disables, 0 logs all actions and
                    # their durations, > 0 logs only
                    # actions running at least this number
                    # of milliseconds.
#autovacuum_max_workers = 3        # max number of autovacuum subprocesses
                    # (change requires restart)
#autovacuum_naptime = 1min        # time between autovacuum runs
#autovacuum_vacuum_threshold = 50    # min number of row updates before
                    # vacuum
#autovacuum_analyze_threshold = 50    # min number of row updates before
                    # analyze
#autovacuum_vacuum_scale_factor = 0.2    # fraction of table size before vacuum
#autovacuum_analyze_scale_factor = 0.1    # fraction of table size before analyze
#autovacuum_freeze_max_age = 200000000    # maximum XID age before forced vacuum
                    # (change requires restart)
#autovacuum_vacuum_cost_delay = 20ms    # default vacuum cost delay for
                    # autovacuum, in milliseconds;
                    # -1 means use vacuum_cost_delay
#autovacuum_vacuum_cost_limit = -1    # default vacuum cost limit for
                    # autovacuum, -1 means use
                    # vacuum_cost_limit



Merci à vous

#3 Re : Optimisation » pg_restore lent » 11/12/2014 10:46:18

Bonjour,

ah oui ... sad 11 petite minuscule seconde .......


Le seul point qui pourrait expliquer une énorme lenteur, c'est si votre sauvegarde (ou plutôt votre restauration) passe par des INSERT au lieu des COPY habituels.

effectivement mes sauvegardes sont faites avec des INSERT


j'ai lu ici http://forums.postgresql.fr/viewtopic.php?id=2507 une personne qui avait des soucis de temps (bon je suis pas dans le même contexte et c'est pas la même taille de base de données)

la configuration qui avait été choisi pour lui était celle-ci


# - Specifique UPDATE massif -
maintenance_work_mem = 2GB
wal_buffers = 32MB
#fsync = on
synchronous_commit = off
checkpoint_segments = 200
checkpoint_timeout = 20min
checkpoint_warning = 0


Effectivement le faite de mettre "synchronous_commit = off" me fait passer à moins de 1min pour ma base de 9Mo.
Après est ce que tout ça rentre dans les bonnes pratique ? je sais pas ...

#4 Optimisation » pg_restore lent » 10/12/2014 14:04:29

tessaju
Réponses : 8

Bonjour,


j'ai un souci sur la restauration des base de données.


j'utilise pgAdmin pour faire ma restauration et pour une base de 9Mo il me faut 45min (2Go plus de 24h).



Ma configuration est :

PostgreSQL : 9.2
Système: Windows 2012 (Mon système est virtualisé)
Temps d'activité du disque: 90%
Vitesse écriture: 1.5Mo
Processeur (4Proc virtuel): 7%
Mémoire: 16G dont 1.8 Utilisée


mon fichier postgresql.conf: (ces lignes sont bien commentées)


#checkpoint_segments = 3        # in logfile segments, min 1, 16MB each
#checkpoint_timeout = 5min        # range 30s-1h
#checkpoint_completion_target = 0.5    # checkpoint target duration, 0.0 - 1.0
#checkpoint_warning = 30s        # 0 disables


Avez vous une idée pour arriver à des temps correct ?
quelle sont les bonnes pratique pour le chekpoint_segments ?


Désoler si je suis passé à coté d'un sujet déjà existant


merci

#6 Re : Installation » Login postgres Pgadmin failed » 08/12/2014 13:54:31

Je croyais que le fichier pgpass.conf était utilisé uniquement pour ne pas à avoir à donner le mot de passe lorsque l'on veut effectuer une restauration ou une sauvegarde en mode commande de façon automatique.


J'ai réussit en cochant la case "le compte a expiré" dans l'onglet Définition du rôle postgres
il était pourtant pas expiré dans ses propriétés !!!!


pour autant j'ai une erreur dans mes logs (c'est depuis le début de mon installation de postgreSQL)
2014-12-08 12:55:13 CET FATAL:  password authentication failed for user "postgres"


j'arrive bien à me connecter sur mon instance avec le compte  postgres

#7 Installation » Login postgres Pgadmin failed » 08/12/2014 13:05:26

tessaju
Réponses : 5

Bonjour,

Après avoir voulu modifier le mot de passe du compte postgres depuis pgadmin je ne peux plus me connecter avec ce compte.

"password authentification failed"


psql -U postgres
"psql: FATAL:  password authentication failed for user "postgres""


si je modifie le fichier hba.conf et que je met la valeur a trust forcement je n'ai plus de problème.


# IPv4 local connections:
host    all             all             127.0.0.1/32            trust



je suis sous windows

quelqu'un aurait une idée ?

#8 Re : Installation » Pb Installation PostgreSQL 9.2 Windows 2012 » 04/12/2014 12:08:00

ok c'est résolu suffi juste de modifier la variable lc_messages = 'French_France.1252' en 'UTF8'

merci à vous

#9 Re : Installation » Pb Installation PostgreSQL 9.2 Windows 2012 » 04/12/2014 11:41:39

pas tout a fait. Je sais pas si c'est lié mais j'ai une erreur sur l'état de mon serveur PostgreSQL.

"Erreur sequence objet invalide pour l'encodage UTF8"

#10 Re : Installation » Pb Installation PostgreSQL 9.2 Windows 2012 » 04/12/2014 11:23:12

oui il m'indique bien :
"Le service postgresql-x64-9.2 est entré dans l’état : en cours d’exécution"

#11 Re : Installation » Pb Installation PostgreSQL 9.2 Windows 2012 » 04/12/2014 11:06:50

J'ai réussit à démarrer le service postgresql avec le compte du système local smile. j'arrive bien à me connecter à mon instance depuis Pgadmin.
Par ailleurs, celui-ci ne ma pas proposer d'installer le modulepack

#12 Re : Installation » Pb Installation PostgreSQL 9.2 Windows 2012 » 04/12/2014 10:33:58

Bonjour merci de votre réponse,


- Oui le service postgreSQL est bien présent
- non le service ne veut pas démarrer


- si je lance Pgadmin et je que souhaite me connecter à l'instance j'ai une erreur

could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432? could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432?


Au passage, si le lecteur L est un lecteur réseau, c'est plutôt une mauvaise idée de l'utiliser pour une base de données, que ce soit en terme de performance et de fiabilité

- Je me suis mal exprimé j'ai été un peu vite. C'est une deuxième partition sur mon serveur qui va contenir la base de données (la partition est partagé)

#13 Re : Installation » Pb Installation PostgreSQL 9.2 Windows 2012 » 03/12/2014 12:01:33

J'ai lu que l'erreur (non fatal) ne devrait pas être bloquante et que dans la plupart des cas nous pouvons travailler sans l'adminpack.
Si nous avons besoin de cette composante, nous pouvons terminer l'installation en ligne de commande depuis le répertoire où PostgreSQL à été installé: "C:\app\PostgreSQL\installer\server"


Exécuter manuellement les loadmodules.vbs de commande (celui qui a échoué lors de l'installation)


loadmodules.vbs postgres <pwd> C:\Program Files\PostgreSQL\9.2 L:\Data 5432


je sais pas si je suis sur la bonne piste, est ce que des personnes ont déjà eu ce genre de problème ?

merci

#14 Installation » Pb Installation PostgreSQL 9.2 Windows 2012 » 02/12/2014 13:39:20

tessaju
Réponses : 8

Bonjour,

je rencontre un souci lors de l'installation de postgresql 9.2.9 sur un Windows Serveur 2012. J'ai un message d'erreur qui me dit :


"une erreur non fatale est survenue lors du chargement des modules de base de données. Merci de vérifier les traces de l'installation dans C:........Temp pour plus de détails"


voici mon fichier de log.


Chargement des modules SQL supplémentaires...
Executing cscript //NoLogo "C:\Program Files\PostgreSQL\9.2\installer\server\loadmodules.vbs" "postgres" "****" "C:\Program Files\PostgreSQL\9.2" "L:\BasesDeDonnees" 5432


Script exit code: 2

Script output:
Installing the adminpack module in the postgres database...
    Executing 'C:\Users\ADMINI~1\AppData\Local\Temp\1\rad303DB.bat'...
psql: n'a pas pu se connecter au serveur : Connection refused (0x0000274D/10061)
    Le serveur est-il actif sur l'h“te ® localhost ¯ (::1)
    et accepte-t-il les connexionsTCP/IP sur le port 5432 ?
n'a pas pu se connecter au serveur : Connection refused (0x0000274D/10061)
    Le serveur est-il actif sur l'h“te ® localhost ¯ (127.0.0.1)
    et accepte-t-il les connexionsTCP/IP sur le port 5432 ?

Failed to install the 'adminpack' module in the 'postgres' database
loadmodules.vbs ran to completion

Script stderr:
Program ended with an error exit code

Erreur dans l'exécution de cscript //NoLogo "C:\Program Files\PostgreSQL\9.2\installer\server\loadmodules.vbs" "postgres" "****" "C:\Program Files\PostgreSQL\9.2" "L:\BasesDeDonnees" 5432 : Program ended with an error exit code
[10:30:08] Write the data directory to the ini file...
[10:30:08] Write the port number, service ID, locale and superuser to the ini file...
[10:30:08] Write ServiceID(postgresql-x64-9.2) to registry/ini...
[10:30:08] Write Superuser to ini file and windows registry...
[10:30:08] Write Service Account to ini file and windows registry...
[10:30:08] Write the server description to the ini file...
[10:30:08] Write the server branding to the ini file...
[10:30:08] Write the 'whether stack-builder is disabled or not' to the ini file...
[10:30:08] Finished running post-installation/upgrade tasks.
[10:30:08] Delete the temporary scripts directory...
Création du Désinstalleur
Création du désinstalleur 25%
Création du désinstalleur 50%
Création du désinstalleur 75%
Création du désinstalleur 100%
Installation terminée
Log finished 12/02/2014 at 10:30:16



Mon antivirus est désactivé et j'ai autorisé le port TCP/IP 5432 dans mon pare-feu.
J'ai fait l'installation en tant qu'administrateur du domaine. J'ai le contrôle total sur mon dossier "L:\Basededonnees" situé sur un lecteur partagé


une idée ?
merci

#15 Re : Installation » Bonne pratique installation PostgreSQL - Windows 2012 » 20/11/2014 11:29:42

Finalement je continue avec mes questions de bonne pratique pour l'installation d'une base de donnée postgresql smile

La différence entre PostgreSQL (PG) et Postgres Plus Advanced Server (PPAS) est que PPAS a une plus forte interaction avec les autres base de données type Oracle, MySQL & SQL Server ?
Si on ne souhaite pas migrer d'autre type de base de données et utiliser une SGBD 100% PostgreSQL la version "PG" suffit ?
merci

#17 Re : Installation » Bonne pratique installation PostgreSQL - Windows 2012 » 19/11/2014 18:08:04

Le souci c'est que je suis obligé de virtualiser (budget). Le système m'est aussi imposé (Windows).  Est ce que cela peut poser un problème au niveau des performances si je l'installe sur un Windows Serveur qui est lui même contrôleur de domaine (AD+DNS).

merci

#18 Installation » Bonne pratique installation PostgreSQL - Windows 2012 » 19/11/2014 15:10:41

tessaju
Réponses : 6

Bonjour,

je voudrais connaitre les bonnes pratiques pour l'installation d'un serveur de base de donnée PostgreSQL.
On me demande d'installer PostgreSQL sur un serveur contrôleur de domaine Windows2012.

Est ce qu'il faut un serveur dédié pour la base de donnée PostgreSQL ?

merci de votre aide.

Pied de page des forums

Propulsé par FluxBB