dimecres, 20 de juliol de 2016

Showing and Listing Databases and Tables in PostgresSQL

Introducció:

Aquest tutorial busca donar unes xicotetes nocions per començar a gestionar un postgres tenint uns coneixements molts bàsics sobre bases de dades.

Utilització bàsica de Postgres:

El primer que necessitarem serà accedir a la consola d'administració postgres. Per a accedir a la consola psql ens canviarem a usuari postgres i llançarem la comanda psql.
sudo su postgres
psql
could not change directory to "/root"
psql (9.1.22)
Type "help" for help.

Una volta executem la consola mostrarem les bases de dades que hi han configurades. La comanda \x serveix per canviar el pager per a que mostre les files de la bases de dades en vertical. El que ens resultarà útil depenent de la consola amb la que accedim.

Per mostrar les bases de dades utilitzarem la ordre \l.
postgres=# \x
postgres=# \l
List of databases
-[ RECORD 1 ]-----+----------------------
Name              | postgres
Owner             | postgres
Encoding          | UTF8
Collate           | en_US.UTF-8
Ctype             | en_US.UTF-8
Access privileges | 
-[ RECORD 2 ]-----+----------------------
Name              | template0
Owner             | postgres
Encoding          | UTF8
Collate           | en_US.UTF-8
Ctype             | en_US.UTF-8
Access privileges | =c/postgres
                  | postgres=CTc/postgres
-[ RECORD 3 ]-----+----------------------
Name              | template1
Owner             | postgres
Encoding          | UTF8
Collate           | en_US.UTF-8
Ctype             | en_US.UTF-8
Access privileges | =c/postgres
                  | postgres=CTc/postgres
El següent que farem serà crear una base de dades de proba anomenada test.
postgres=# create database test;
CREATE DATABASE
A continuació comprobarem que la base de dades s'ha creat correctament.
postgres=#  \l
List of databases
-[ RECORD 1 ]-----+----------------------
Name              | postgres
Owner             | postgres
Encoding          | UTF8
Collate           | en_US.UTF-8
Ctype             | en_US.UTF-8
Access privileges | 
-[ RECORD 2 ]-----+----------------------
Name              | template0
Owner             | postgres
Encoding          | UTF8
Collate           | en_US.UTF-8
Ctype             | en_US.UTF-8
Access privileges | =c/postgres
                  | postgres=CTc/postgres
-[ RECORD 3 ]-----+----------------------
Name              | template1
Owner             | postgres
Encoding          | UTF8
Collate           | en_US.UTF-8
Ctype             | en_US.UTF-8
Access privileges | =c/postgres
                  | postgres=CTc/postgres
-[ RECORD 4 ]-----+----------------------
Name              | test
Owner             | postgres
Encoding          | UTF8
Collate           | en_US.UTF-8
Ctype             | en_US.UTF-8
Access privileges | 
Com podem veure en el RECORD 4 s'ha creat correctament. Seguidament ens conectem a la base de dades amb \c.
postgres=# \c test;
You are now connected to database "test" as user "postgres".
Una volta accedim a la base de dades test, creem una taula t1 amb 2 camps, un identificador id i una cadena name.
CREATE TABLE t1 (id INTEGER PRIMARY KEY, name VARCHAR);
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "t1_pkey" \
         for table "t1"
CREATE TABLE
A continuació, mostrem les taules creades amb \dt. Veurem que s'ha creat correctament la taula.
test=# \dt
List of relations
-[ RECORD 1 ]----
Schema | public
Name   | t1
Type   | table
Owner  | postgres
Insertem dades a la taula t1 creada previament.
test=# insert into t1 (id, name) values (1, 'Cremem la nit!');
INSERT 0 1
Si realitzem una consulta veurem que les dades apareixen correctament.
test=# select * from t1;
-[ RECORD 1 ]------------------------------------
id          | 1
name        | Cremem la nit!
Una altra cosa que podem comprobar son els usuaris que hi han donats d'alta a postgres. Això ho comprobem amb la següent comanda:
test=# select * from pg_shadow;
-[ RECORD 1 ]------------------------------------
usename     | postgres
usesysid    | 10
usecreatedb | t
usesuper    | t
usecatupd   | t
userepl     | t
passwd      | 
valuntil    | 
useconfig   | 
Per últim modifiquem el pager al comportament normal.
postgres=#\x off
Aquesta comanda s'utilitza per eixir de la base de dades.
postgres=# \q

Enllaços:

https://chartio.com/resources/tutorials/how-to-list-databases-and-tables-in-postgresql-using-psql
http://www.davidpashley.com/articles/postgresql-user-administration/

Cap comentari:

Publica un comentari a l'entrada