TU ANUNCIO / YOUR PUBLICITY

AQUÍ PODRÍA ESTAR TU ANUNCIO: / HERE COULD BE YOUR AD E-mail

domingo, 20 de abril de 2014

Instalation and first steps with POSTGRES / Instalación y primeros pasos con POSTGRES

1º Instalamos lo necesario: / Instaling
root@ordenata:~$ apt-get install apache2 php5 postgresql php5-pg*

→ Apache
→ php5
→ postgresql
→ las librerías de php5 de postgresql.

2º Como el super-usuario “postgresql” es muy dificil de tratar desde php se crea otro igual de super-usuario:
2nd As the super-user "postgresql" is very difficult to treat from php, create another super-user:

sudo -u postgres createuserb -EP usuario3
Introduzca la contraseña para el nuevo rol: tralara
Introdúzcala nuevamente: tralara
¿Será el nuevo rol un superusuario? (s/n) s

3º Crearemos una base de datos / We creare a DB.
root@ordenata:~$ su – postgres (desde root)
postgres@ordenata:~$ psql
psql (8.4.9) (esto aparececrá en la pantalla)
Digite «help» para obtener ayuda.

postgres=# create database arca ;
CREATE DATABASE
postgres=# \q
postgres@ordenata:~$ exit
logout

4º Desde apache-php / From apache-php

Archivo / file: "bd.php:"

<?php
$cona=pg_connect("host=localhost dbname=arca user=usuario3 password=tralara");
$sel=pg_query($cona,"CREATE TABLE tabla1(uno int, dos int)");
$sel=pg_query($cona,"INSERT INTO tabla1(uno, dos) VALUES (34,55)");
?>
Desde un navegadorhttp://localhost/bd.php

5º Comprobemos:
postgres@ordenata:~$ psql arca
arca=# \l
Listado de base de datos
Nombre | Dueño | Codificación | Collation | Ctype | Privilegios
-----------+----------+--------------+-------------+-------------+-----------------------
arca | postgres | UTF8 | es_ES.UTF-8 | es_ES.UTF-8 |

arca=# \dt → public | tabla1 | tabla | usuario3

arca=# SELECT * FROM tabla1; → 34 | 55


MÁS DIFICIL TODAVÍA QUIERO CONECTARME DESDE OTRO ORDENADOR VIA WEB
STILL MORE DIFFICULT, I WANT TO CONNECT FROM ANOTHER REMOTE COMPUTER.

1º Se abre el fichero / We open  postgresql.conf:

sudo nano /etc/postgresql/8.4/main/postgresql.conf

y en una fila se escribe: / In a line we write

[…]
listen_addresses='*'
[…]

Cuando lo intentemos dará el siguiente error: We will have this error. No problem.

Unable to connect to PostgreSQL server: FATAL: no hay una l?nea en pg_hba.conf para ...

2aº Se abre pg_hba.conf y se escribe: (si nuestra ip es 77.209.54.169)
2aº Open pg_hba.conf and write: (if our ip is 77.209.54.169)

sudo nano /etc/postgresql/8.4/main/pg_hba.conf
[…]
hostnossl all all 77.209.54.169/24 md5
[…]

2bº Para toda internet posible (pero conociendo nuestra base de datos, “arca”, y nuestro usuario, “usuario3”:
2bº For all people

[…]
host arca usuario3 0.0.0.0 0.0.0.0 md5
[…]

3º El siguiente ejemplo funcionará (con una bd postgresql en 83.57.127.159 en la que previamente habremos redirigido el puerto 5432):


3º The next ejemple will work (with a db postgresql in 83.57.127.159 with the port 5432):
<?php
$cona=pg_connect("host=83.57.127.159 port=5432 dbname=arca user=usuario3 password=tralara");
$sel=pg_query($cona,"CREATE TABLE tabla3(uno int, dos int)");
$sel=pg_query($cona,"INSERT INTO tabla3(uno, dos) VALUES (343,355)");
?>

No hay comentarios:

Publicar un comentario