PostgreSQL

Découvrez notre offre de Cloud Public

L'hébergement mutualisé pour tou·te·s, imaginé par des développeur·euse·s, pour des développeur·euse·s.

Découvrir le Cloud Public

Connexion

Serveurpostgresql-[compte].alwaysdata.net
Port5432 (Port PostgreSQL par défaut)
Interface webphpPgAdmin

Ces informations de connexion dépendent du compte concerné. Vous pouvez retrouver les valeurs précises dans la section Bases de données > PostgreSQL de l’interface d’administration.

Un pgBouncer tourne sur le port 5433. Il est possible de s’y connecter à la place de PostgreSQL directement.

Exemple avec psql

Dans notre exemple, nous utilisons l'accès SSH et considérons les informations suivantes :

  • Nom du compte : foo
  • Nom de la base de données : foo_base
  • Nous utiliserons les utilisateurs SSH et de base de données par défaut, c’est à dire ceux créés à l’ouverture des comptes (c’est-à-dire foo pour le compte foo).
foo@ssh:~$ psql -h postgresql-foo.alwaysdata.net -U foo -W -d foo_base

Permissions

Lors de la création de vos bases et utilisateurs PostgreSQL, vous définissez les permissions souhaitées puis notre système effectue les opérations suivantes :

  • REVOKE ALL PRIVILEGES sur la base et ses schémas ;
  • Si votre utilisateur doit avoir tous les droits :
    • GRANT ALL PRIVILEGES sur la base et ses schémas ;
    • ALTER DEFAULT PRIVILEGES : GRANT ALL PRIVILEGES sur les TABLES, SEQUENCES et FUNCTIONS ;
    • GRANT ALL PRIVILEGES sur les TABLES, SEQUENCES et FUNCTIONS.
  • Si votre utilisateur doit avoir le droit lecture seule :
    • GRANT CONNECT sur la base ;
    • GRANT USAGE sur les schémas ;
    • ALTER DEFAULT PRIVILEGES :
      • GRANT SELECT sur les TABLES, SEQUENCES ;
      • GRANT EXECUTE sur les FUNCTIONS.
    • GRANT SELECT sur les TABLES, SEQUENCES ;
    • GRANT EXECUTE sur les FUNCTIONS.

Si vous modifiez les permissions de vos utilisateurs via une application tierce, toute validation via l’interface d’administration (ou via l’API) réinitialisera les permissions selon les directives ci-dessus.

Options

À la création d’une base de données, vous disposez des options suivantes :

  • locale : détermine l’encodage, LC_COLLATE et LC_CTYPE ;
  • extensions : vous pouvez activer d’un simple clic des extensions PostgreSQL (hstore, pgcrypto, PostGIS, etc.). Si vous avez besoin d’une extension non listée, vous pouvez contacter le support.
    • plperl est activée à la demande via le support ;
    • pgrouting et postgis_raster sont activées à la demande via le support pour les bases de données étant sur PostgreSQL 13 - ou supérieur.

Restaurer une base de données depuis sa sauvegarde quotidienne

Plusieurs possibilités :

  • utiliser notre fonctionnalité de restauration de sauvegarde ;

  • utiliser la commande suivante :

    $ zstdcat $HOME/admin/backup/[date]/postgresql/[base].sql.zst | psql -h postgresql-[compte].alwaysdata.net -U [utilisateur] -W -d [base]
    
  • récupérer l’archive et utiliser le client de son choix.

Les contenus archivés (e.g. les dumps de BDD) dans votre espace de backup sont au format Zstandard, vous pouvez utiliser les outils zstd* officiels ou le plugin adapté pour 7zip pour les manipuler.

Divers

En Cloud Public, le nombre de connexions simultanées maximum par utilisateur est de 50. Il est possible à la demande de le modifier en Cloud Privé.

Il est possible de voir les noms de toutes les bases de données et utilisateurs sur les serveurs PostgreSQL. C’est une limitation de l’utilisation de PostgreSQL en environnement mutualisé. Les contenus des bases ne sont pas accessibles.

Les langages PostgreSQL untrusted, permettant d’exécuter du code arbitraire sous les droits de l’utilisateur administrateur (faisant tourner PostgreSQL), ne peuvent être utilisés sur nos serveurs.