Ok

En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Ces derniers assurent le bon fonctionnement de nos services. En savoir plus.

Expertise en SGBDR - Page 16

  • POSTGRES Backup / restore

    Petites bases :

    #backup

    -C : ajouter le create database.


    pg_dump -d $DB > $DB.sql
    #restore
    psql < $DB.sql

     


    Grosses bases :

    #backup
    on exporte la structure :

     pg_dump -s $DB> $DBstruct.sql

    psql $DB < $DBstruct.sql

    on exporte les données :
    pg_dump -Fc -a -d $DB > $DB.dmp
    pg_restore -Fc -d $DB $DB.dmp

    Ajout du GZIP pour le dump :
    pg_dump -U <user> <database> | gzip -c > backup.gz

    Ajout du GZIP pour l'import :
    gzip -d backup.gz | psql -d <database> -U <user>

    You might need to be logged in as postgres in order to have full privileges on databases.

    su - postgres
    psql -l                      # will list all databases on Postgres cluster
    

    pg_dump/pg_restore

      pg_dump -U username -f backup.dump database_name -Fc 
    

    switch -F specify format of backup file:

    • c will use custom PostgreSQL format which is compressed and results in smallest backup file size
    • d for directory where each file is one table
    • t for TAR archive (bigger than custom format)
    • -h/--host Specifies the host name of the machine on which the server is running
    • -W/--password Force pg_dump to prompt for a password before connecting to a database

    restore backup:

       pg_restore -d database_name -U username -C backup.dump


  • [Postgres] VACUUM

    Comprendre : autovacuum_freeze_max_age

     

    Quand le vacuum ne suffit plus pour réinitialiser le XID d'une table, il faut faire un VACUUM FULL de cette table.

    Lire la suite

  • [Postgres] User privs

    SELECT grantee AS user, CONCAT(table_schema, '.', table_name) AS table, 
        CASE 
            WHEN COUNT(privilege_type) = 7 THEN 'ALL'
            ELSE ARRAY_TO_STRING(ARRAY_AGG(privilege_type), ', ')
        END AS grants
    FROM information_schema.role_table_grants
    GROUP BY table_name, table_schema, grantee;

  • Fais divers

    Quand tu te rends comptes que tu aurais dû payer 50€ au lieu de 40€ la passe. 

    C'est 40€ une position, 50€ deux positions. 

    Au bout de 10 minutes le téléphone sonne. Vous avez terminé Monsieur. Heu non je n'ai pas joui. C'était pas 15 min ??

     

    Nan! 15 min c'est 50€ , 40€ c'est 10min. 

    Svp finis moi lui dis , désemparé. Je te redonne 10€ après promis. 

    Bon ok me dit elle , mais on change de position, tu choisis ? 

     

  • Installation et configuration de Cassandra

    en-HTCC-8.5.2-Dep-InitializingCassandra.pdf

    en-GMS-8.5.2-Deployment-ConfiguringanExternalCassandra.pdf

     

    Qqs prérequis :

    Faut désactiver le swap

                 Il y des warning lors de démarrage de cassandra : 

                WARN  [main] 2021-04-29 16:18:32,338 SigarLibrary.java:174 - Cassandra server running in degraded mode. Is swap disabled? : false,  Address space adequate? : true,  nofile limit adequate? : true, nproc limit adequate? : true

     

    1. Mettre le paramètre system vm.max_map_count a 1048575 ( dans /etc/sysctl.d/ 99-sysctl.conf)

                 WARN  [main] 2021-04-29 16:18:32,338 StartupChecks.java:311 - Maximum number of memory map areas per process (vm.max_map_count) 65530 is too low, recommended value: 1048575, you can change it with sysctl.

     

    Il est recommander de mettre les commitlogs dans un FS dédié séparer des data.

    • Monter le /var/lib/cassandra/commitlog sur sd (lvm) dédié ( 20GB de taille )

     

    Changer le home de user cassandra en /home/cassandra au lieu de /var/lib/cassandra

     

    Ajouter les lignes suivantes dans fichier .bash_profile

     

    PATH=$PATH:$HOME/.local/bin:$HOME/bin

    #

    export CASSANDRA_HOME=/usr/share/cassandra

    export CASSANDRA_INCLUDE=$CASSANDRA_HOME/cassandra.in.sh

    export CASSANDRA_CONF=/etc/cassandra/conf

    export CASSANDRA_OWNR=cassandra

    export CASSANDRA_BIN=/usr/sbin/cassandra

    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64

    #

    PATH=$PATH:$CASSANDRA_BIN:$JAVA_HOME/jre/bin

    export PATH

    export PS1='[$LOGNAME@$HOSTNAME:W]$'

     

    Faut installer le package jemalloc.x86_64