PostgreSQL importer
Door Arend a, 20 jaar geleden, 4.268x bekeken
Quote:
Executes an SQL script as a series of SQL statements. Returns
the result of the final step. This is a very complicated lexer
based on the REL7_4_STABLE src/bin/psql/mainloop.c lexer in
the PostgreSQL source code.
the result of the final step. This is a very complicated lexer
based on the REL7_4_STABLE src/bin/psql/mainloop.c lexer in
the PostgreSQL source code.
Dit script is de import functie uit phpPgAdmin naar een standalone class gehacked. Persoonlijk gebruik ik hem veel om bij het ontwikkelen de data structuur in losse .sql files te schrijven, en waar aanpassingen nodig zijn deze uit te voeren.
Het script is oorspronkelijk prodecurele code, en is vanwege clustering in een klasse gezet. De output is nog steeds met echo, en executeScript() zal een resultaten log outputten.
Deze was nodig omdat je bijvoorbeeld geen "DROP DATABASE" en "COPY ... FROM stdin" syntax onder php kan gebruiken.
Voorbeeld
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
require_once('pg_importer.php');
$sDsn = "host=localhost port=5432 dbname=mydb user=myuser password=mypass";
$oImportSQL = new ImportSQL($sDsn);
// voer het script filename.sql uit
$oImportSQL->executeScript("filename.sql");
// voer een string uit:
$oImportSQL->executeScript("
DROP DATABASE mydb;
CREATE DATABASE yourdb;
", true);
?>
require_once('pg_importer.php');
$sDsn = "host=localhost port=5432 dbname=mydb user=myuser password=mypass";
$oImportSQL = new ImportSQL($sDsn);
// voer het script filename.sql uit
$oImportSQL->executeScript("filename.sql");
// voer een string uit:
$oImportSQL->executeScript("
DROP DATABASE mydb;
CREATE DATABASE yourdb;
", true);
?>
Copyright
Het leeuwendeel van het werk (het schrijven van de daadwerkelijke lexer) is door het team van phpPgAdmin gedaan. Zie website http://phppgadmin.sourceforge.net/
Gesponsorde koppelingen
PHP script bestanden
Er zijn 2 reacties op 'Postgresql importer'
Om te reageren heb je een account nodig en je moet ingelogd zijn.
PHP hulp
0 seconden vanaf nu