Postgres

De Linuxmemo.

(Différences entre les versions)
(Commandes du client "psql")
(Recettes)
Ligne 56 : Ligne 56 :
*Taille d'une table
*Taille d'une table
  SELECT pg_size_pretty(pg_relation_size('nom_table'));
  SELECT pg_size_pretty(pg_relation_size('nom_table'));
 +
 +
*Export CSV d’une requête postgresql
 +
 +
COPY (select id, firstname, name,  email from users) TO '/tmp/export_users.csv' WITH CSV;
==Références==
==Références==

Version du 19 avril 2013 à 19:52


Bases de données:

Sommaire

Démarrage rapide de Postgres

./configure
gmake
su
gmake install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test
CREATE USER tom WITH PASSWORD 'myPassword';
CREATE DATABASE jerry;
GRANT ALL PRIVILEGES ON DATABASE jerry to tom;
\q

sous bash

su - postgres
createuser root
psql -c "ALTER USER nom_user WITH PASSWORD 'password';"
psql -c "DROP USER jonathan;"

Commandes du client "psql"

\l = liste des bases
\c nombase = connexion a la base nombase
\d = liste des tables
\q = quitter
\h = aide
SELECT version(); = version PostgreSQL
SELECT current_date; = date actuelle
\i fichier.sql = lit les instructions du fichier fichier.sql
\d table = décrit une table (comme DESCRIBE avec MySQL)
-- commentaire

Sauvegarde restauration de base

Le principe est de générer un fichier texte de commandes SQL (appelé « fichier dump »), qui, si on le renvoie au serveur, recrée une base de données identique à celle sauvegardée.

  • sauvegarde
pg_dump -h 127.0.0.1 -U "user" -W base_de_donnees > fichier_de_sortie
  • restauration
pg_dump -h 127.0.0.1 -U "user" -W base_de_donnees < fichier_d_entree

Recettes

  • Taille d'une base
SELECT pg_size_pretty(pg_database_size('nom_base'));
  • Taille d'une table
SELECT pg_size_pretty(pg_relation_size('nom_table'));
  • Export CSV d’une requête postgresql
COPY (select id, firstname, name,  email from users) TO '/tmp/export_users.csv' WITH CSV;

Références

http://blog.endpoint.com/2009/12/mysql-and-postgres-command-equivalents.html

Voir: Sql

Outils personnels