feat: add example python script
This commit is contained in:
@@ -11,7 +11,9 @@ Materiales para el taller *Bases de datos en un contexto FOSS - Una introducció
|
|||||||
```
|
```
|
||||||
- `assets/`. Carpeta con las imágenes usadas en las diapositivas.
|
- `assets/`. Carpeta con las imágenes usadas en las diapositivas.
|
||||||
- `code/`. Carpeta con el código de ejemplo para el taller:
|
- `code/`. Carpeta con el código de ejemplo para el taller:
|
||||||
- `code/example.sql`. *Dump* de una base de datos mínima, para ilustrar operaciones muy básicas.
|
- `code/example.sql`. *Dump* de una base de datos mínima, para tener algo que explorar.
|
||||||
|
- `code/query_version.py`. Script para conectarse a una base de datos PostgreSQL y obtener la información sobre su versión actual.
|
||||||
|
- `code/config.ini`. Fichero auxiliar para el script anterior, con los parámetros de la conexión a PostgreSQL.
|
||||||
|
|
||||||
## Licencia
|
## Licencia
|
||||||
|
|
||||||
|
|||||||
6
code/config.ini
Normal file
6
code/config.ini
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[database]
|
||||||
|
name = taller_postgres
|
||||||
|
user = postgres
|
||||||
|
password = foss
|
||||||
|
host = localhost
|
||||||
|
port = 5432
|
||||||
40
code/query_version.py
Normal file
40
code/query_version.py
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
import configparser
|
||||||
|
import psycopg2
|
||||||
|
|
||||||
|
configfile = configparser.ConfigParser()
|
||||||
|
configfile.read('config.ini')
|
||||||
|
|
||||||
|
config = configfile['database']
|
||||||
|
|
||||||
|
print("Connecting to database...")
|
||||||
|
with psycopg2.connect(
|
||||||
|
database=config['name'],
|
||||||
|
user=config['user'],
|
||||||
|
password=config['password'],
|
||||||
|
host=config['host'],
|
||||||
|
port=config['port']
|
||||||
|
) as connection:
|
||||||
|
|
||||||
|
print("Connected to %s:%s (%s) as %s" % (config['host'], config['port'], config['name'], config['user']))
|
||||||
|
|
||||||
|
print("Querying PostgreSQL version...")
|
||||||
|
|
||||||
|
with connection.cursor() as cursor:
|
||||||
|
query = "SELECT version();"
|
||||||
|
cursor.execute(query)
|
||||||
|
|
||||||
|
print("Results:")
|
||||||
|
rows = cursor.fetchall()
|
||||||
|
for row in rows:
|
||||||
|
print("->", *row)
|
||||||
|
|
||||||
|
# Si estuvieramos modificando datos con
|
||||||
|
# cursor.execute(...)
|
||||||
|
# sería necesario hacer commit de los cambios:
|
||||||
|
# cursor.commit()
|
||||||
|
|
||||||
|
# Al manejar la conexión y el cursor mediante contextos,
|
||||||
|
# estos se cierran automáticamente. De otro modo, lo
|
||||||
|
# correcto habría sido hacer cursor.close() y connection.close()
|
||||||
|
print("Done!")
|
||||||
|
|
||||||
Reference in New Issue
Block a user