User Tools

Site Tools


database:postgres

PostgreSQL

PostgreSQL database initialization

Create a user for example : postgres

Connect to your system a this user (su - postgres)

root# mkdir /usr/local/pgsql/data
root# chown postgres /usr/local/pgsql/data
root# su postgres
postgres$ initdb -D /usr/local/pgsql/data

Alternatively, you can run initdb via the pg_ctl program like so:

$ pg_ctl -D /usr/local/pgsql/data initdb

Tip: As an alternative to the -D option, you can set the environment variable PGDATA.

stop/start DB postgres

[root@srv1] /var # sudo -u postgres pg_ctl start -D /postgres/data/CMDB01 -l logfile
waiting for server to start.... done
server started
[root@srv1] /var # sudo -u postgres pg_ctl stop -D /var/lib/pgsql/9.2/data -m smart
waiting for server to shut down.... done
server stopped

List DB and tables

[root@srv1] /var/lib/pgsql/9.2/data # su postgres
[postgres@srv1]() ~/9.2/data # psql
psql (9.2.14)
Type "help" for help.

postgres=# \list
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 ibmsc     | ibmsc    | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(4 rows)

postgres=# select datname from pg_database;
  datname
-----------
 template1
 template0
 postgres
 ibmsc
(4 rows)

postgres=# SHOW TABLES
postgres-# \connect ibmsc
You are now connected to database "ibmsc" as user "postgres".
ibmsc-# SHOW TABLES
ibmsc-# \dt
                               List of relations
 Schema |                         Name                          | Type  | Owner
--------+-------------------------------------------------------+-------+-------
 public | abstraction_applications                              | table | ibmsc
 public | abstraction_applications_service                      | table | ibmsc
 public | abstraction_capability                                | table | ibmsc
 public | abstraction_capabilityconstraint                      | table | ibmsc
 public | abstraction_capabilityconstraint_capability_values    | table | ibmsc
 public | abstraction_capabilityvalue                           | table | ibmsc
...

Backup script

root@jir01 ~]# cat /var/atlassian/backups/postgresql_dumpall.sh
#!/bin/sh
#

DB_LIST="postgres jiradb stashdb confluencedb"

DB_USER="postgres"
DB_BACKDIR="/sqlbackup"


RC=0


for DB_NAME in $DB_LIST
do

        DB_BACKFILE="$DB_BACKDIR/$DB_NAME.dump"

        #
        #       Delete all backup
        #

        [ -r "$DB_BACKFILE" ] && rm $DB_BACKFILE
        [ -r "$DB_BACKFILE.gz" ] && rm $DB_BACKFILE.gz

        #
        #       Take new backup
        #

        su $DB_USER -c "pg_dump $DB_NAME | gzip > $DB_BACKFILE.gz"

        RC=`expr $RC + $?`

done

exit $RC

Administration via GUI/Web

Voici 3 outils complémentaires à pgAdmin, testés et approuvés pour leur compatibilité avec PowerPC :
1. Adminer (Le plus léger)

Adminer est une alternative extrêmement légère à pgAdmin. C'est un simple fichier PHP unique qui gère PostgreSQL, MySQL, SQLite, etc.

    Pourquoi sur ppc64le ? Il ne dépend pas de binaires compilés spécifiques à l'architecture, seulement de l'interpréteur PHP disponible dans les dépôts RHEL (AppStream).

    Installation rapide :
    Bash

    sudo dnf install httpd php php-pgsql
    sudo mkdir /var/www/html/adminer
    sudo wget "https://www.adminer.org/latest-en.php" -O /var/www/html/adminer/index.php
    sudo systemctl enable --now httpd

    Accès via : http://votre_ip/adminer

2. CloudBeaver (L'alternative moderne)

CloudBeaver est la version Web du célèbre logiciel DBeaver. Il est basé sur Java, ce qui le rend nativement compatible avec ppc64le via l'OpenJDK.

    Pourquoi sur ppc64le ? IBM et Red Hat supportent très bien Java (OpenJDK) sur Power. CloudBeaver offre une interface beaucoup plus moderne et fluide que pgAdmin.

    Installation : La méthode la plus simple est d'utiliser le binaire Java (JAR) ou de construire l'image Docker localement sur votre machine Power pour garantir la compatibilité des couches.

        Prérequis : sudo dnf install java-17-openjdk

3. DBeaver Community (Desktop via X11/VNC)

Si vous avez une interface graphique ou si vous utilisez le déport d'affichage (X11 Forwarding / VNC), DBeaver lui-même tourne parfaitement sur RHEL ppc64le.

    Installation :
    Contrairement à la version x86, il n'y a pas toujours de RPM pré-packagé. Vous pouvez utiliser la version Eclipse Plugin ou télécharger l'archive "Generic Linux" qui utilise la JVM installée sur votre système.

    Avantage : C'est sans doute l'outil le plus puissant pour le requêtage complexe et la visualisation de schémas (ER Diagrams).

Tableau Comparatif sur ppc64le
Outil	Type	Complexité d'installation	Poids / Empreinte
Adminer	Web (PHP)	Très Faible	Ultra-léger
pgAdmin 4	Web (Python)	Moyenne (via Pip)	Moyen
CloudBeaver	Web (Java)	Moyenne	Élevé (Java)
DBeaver	Desktop	Faible	Élevé
database/postgres.txt · Last modified: 2026/03/26 17:25 by manu