aboutsummaryrefslogtreecommitdiff
path: root/databases
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2008-06-03 08:38:16 +0000
committerMartin Wilke <miwi@FreeBSD.org>2008-06-03 08:38:16 +0000
commit6523559c07fd71e00d8231fa929b702466719476 (patch)
tree9b753255a84afda50e3fbd3ed27feea662c9ac66 /databases
parent02236a7b9970c8f7d0683499f65b2a521fbb547b (diff)
downloadports-6523559c07fd71e00d8231fa929b702466719476.tar.gz
ports-6523559c07fd71e00d8231fa929b702466719476.zip
pgloader imports data from a flat file and inserts it into one or
more PostgreSQL database tables. It uses a flat file per database table, and you can configure as many Sections as you want, each one associating a table name and a data file. Data are parsed and rewritten, then given to PostgreSQL COPY command. Parsing is necessary for dealing with end of lines and eventual trailing separator characters, and for column reordering: your flat data file may not have the same column order as the database table has. pgloader is also able to load some large objects data into PostgreSQL, as of now only Informix UNLOAD data files are supported. This command gives large objects data location information into the main data file. pgloader parse it add the text or bytea content properly escaped to the COPY data. pgloader issues some timing statistics every "commit_every" commits. At the end of processing each section, a summary of overall operations, numbers of rows copied and commits, time it took in seconds, errors logged and database errors is issued. WWW: http://pgfoundry.org/projects/pgloader/ PR: ports/124210 Submitted by: Pierre-Emmanuel Andre
Notes
Notes: svn path=/head/; revision=214217
Diffstat (limited to 'databases')
-rw-r--r--databases/Makefile1
-rw-r--r--databases/pgloader/Makefile44
-rw-r--r--databases/pgloader/distinfo3
-rw-r--r--databases/pgloader/pkg-descr22
-rw-r--r--databases/pgloader/pkg-plist59
5 files changed, 129 insertions, 0 deletions
diff --git a/databases/Makefile b/databases/Makefile
index ba3b93b426ba..6ea617ef2df5 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -373,6 +373,7 @@
SUBDIR += pgbouncer
SUBDIR += pgcluster
SUBDIR += pgfouine
+ SUBDIR += pgloader
SUBDIR += pgpool
SUBDIR += pgpool-II
SUBDIR += pgpoolAdmin
diff --git a/databases/pgloader/Makefile b/databases/pgloader/Makefile
new file mode 100644
index 000000000000..6d866320d565
--- /dev/null
+++ b/databases/pgloader/Makefile
@@ -0,0 +1,44 @@
+# New ports collection makefile for: pgloader
+# Date created: 2008-06-02
+# Whom: Pierre-Emmanuel Andre
+#
+# $FreeBSD$
+#
+
+PORTNAME= pgloader
+PORTVERSION= 2.3.0
+CATEGORIES= databases
+MASTER_SITES= http://pgfoundry.org/frs/download.php/1679/
+
+MAINTAINER= pea@raveland.org
+COMMENT= Import CSV data and Large Object to PostgreSQL
+
+MAN1= pgloader.1
+
+NO_BUILD= yes
+USE_PYTHON= 2.4+
+
+RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/psycopg2/__init__.py:${PORTSDIR}/databases/py-psycopg2
+
+pre-configure:
+ ${REINPLACE_CMD} -e 's,/usr/share/python-support,${PYTHON_SITELIBDIR},' ${WRKSRC}/pgloader/options.py
+
+do-install:
+ ${INSTALL_SCRIPT} ${WRKSRC}/pgloader.py ${PREFIX}/bin/pgloader
+ ${INSTALL_MAN} ${WRKSRC}/pgloader.1 ${MAN1PREFIX}/man/man1
+ ${MKDIR} ${PYTHON_SITELIBDIR}/pgloader
+ @cd ${WRKSRC}/pgloader && ${COPYTREE_SHARE} \* ${PYTHON_SITELIBDIR}/pgloader/
+ ${MKDIR} ${PYTHON_SITELIBDIR}/pgloader/reformat
+ @cd ${WRKSRC}/reformat && ${COPYTREE_SHARE} \* ${PYTHON_SITELIBDIR}/pgloader/reformat/
+.if !defined(NOPORTEXAMPLES)
+ ${MKDIR} ${EXAMPLESDIR}
+ @cd ${WRKSRC}/examples && ${COPYTREE_SHARE} \* ${EXAMPLESDIR}
+.endif
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/BUGS.txt ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/TODO.txt ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/pgloader.1.txt ${DOCSDIR}
+.endif
+
+.include <bsd.port.mk>
diff --git a/databases/pgloader/distinfo b/databases/pgloader/distinfo
new file mode 100644
index 000000000000..5cf41f1973b8
--- /dev/null
+++ b/databases/pgloader/distinfo
@@ -0,0 +1,3 @@
+MD5 (pgloader-2.3.0.tar.gz) = d4637c23f2cbefb30625751081f6a1c4
+SHA256 (pgloader-2.3.0.tar.gz) = cc2a7570f6c908f740fd5b53d5c1b51a9d93ab223232df90ec01e874e18c1b1d
+SIZE (pgloader-2.3.0.tar.gz) = 83945
diff --git a/databases/pgloader/pkg-descr b/databases/pgloader/pkg-descr
new file mode 100644
index 000000000000..e7efa87b8332
--- /dev/null
+++ b/databases/pgloader/pkg-descr
@@ -0,0 +1,22 @@
+pgloader imports data from a flat file and inserts it into one or
+more PostgreSQL database tables. It uses a flat file per database
+table, and you can configure as many Sections as you want, each one
+associating a table name and a data file.
+
+Data are parsed and rewritten, then given to PostgreSQL COPY command.
+Parsing is necessary for dealing with end of lines and eventual trailing
+separator characters, and for column reordering: your flat data file may
+not have the same column order as the database table has.
+
+pgloader is also able to load some large objects data into PostgreSQL,
+as of now only Informix UNLOAD data files are supported. This command
+gives large objects data location information into the main data file.
+pgloader parse it add the text or bytea content properly escaped to the
+COPY data.
+
+pgloader issues some timing statistics every "commit_every" commits. At
+the end of processing each section, a summary of overall operations,
+numbers of rows copied and commits, time it took in seconds, errors
+logged and database errors is issued.
+
+WWW: http://pgfoundry.org/projects/pgloader/
diff --git a/databases/pgloader/pkg-plist b/databases/pgloader/pkg-plist
new file mode 100644
index 000000000000..2dade9627683
--- /dev/null
+++ b/databases/pgloader/pkg-plist
@@ -0,0 +1,59 @@
+bin/pgloader
+lib/%%PYTHON_VERSION%%/site-packages/pgloader/__init__.py
+lib/%%PYTHON_VERSION%%/site-packages/pgloader/csvreader.py
+lib/%%PYTHON_VERSION%%/site-packages/pgloader/db.py
+lib/%%PYTHON_VERSION%%/site-packages/pgloader/lo.py
+lib/%%PYTHON_VERSION%%/site-packages/pgloader/logger.py
+lib/%%PYTHON_VERSION%%/site-packages/pgloader/options.py
+lib/%%PYTHON_VERSION%%/site-packages/pgloader/options.py.bak
+lib/%%PYTHON_VERSION%%/site-packages/pgloader/pgloader.py
+lib/%%PYTHON_VERSION%%/site-packages/pgloader/reader.py
+lib/%%PYTHON_VERSION%%/site-packages/pgloader/textreader.py
+lib/%%PYTHON_VERSION%%/site-packages/pgloader/tools.py
+lib/%%PYTHON_VERSION%%/site-packages/pgloader/reformat/README
+lib/%%PYTHON_VERSION%%/site-packages/pgloader/reformat/__init__.py
+lib/%%PYTHON_VERSION%%/site-packages/pgloader/reformat/mysql.py
+%%PORTDOCS%%%%DOCSDIR%%/BUGS.txt
+%%PORTDOCS%%%%DOCSDIR%%/TODO.txt
+%%PORTDOCS%%%%DOCSDIR%%/pgloader.1.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/allcols/allcols.data
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/allcols/allcols.sql
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/clob/clob.data
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/clob/clob.out
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/clob/clob.sql
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cluttered/cluttered.data
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/cluttered/cluttered.sql
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csv/csv.data
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csv/csv.sql
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errors/errors.data
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errors/errors.sql
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/parallel.conf
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/parallel/parallel.data
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/parallel/parallel.sql
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/partial/partial.data
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/partial/partial.sql
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pgloader.conf
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/reformat/reformat.data
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/reformat/reformat.sql
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/serial/serial.data
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/serial/serial.sql
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple/simple.data
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple/simple.sql
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/udc/udc.data
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/udc/udc.sql
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/udc
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/simple
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/serial
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/reformat
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/partial
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/parallel
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/errors
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/csv
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/cluttered
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/clob
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/allcols
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%
+@dirrm lib/%%PYTHON_VERSION%%/site-packages/pgloader/reformat
+@dirrm lib/%%PYTHON_VERSION%%/site-packages/pgloader