plparrot 0.4.0

This Release
plparrot 0.4.0
Parrot Virtual Machine and Rakudo Perl 6 as PostgreSQL procedural languages
PL/Parrot embeds Parrot in PostgreSQL and also comes with PL/Perl6 if Rakudo Perl 6 is available
Released By
The Artistic License 2.0 (GPL Compatible)
Special Files


plparrot 0.4.0
plperl6 0.4.0


PL/Parrot - Parrot Virtual Machine in PostgreSQL
PL/Parrot - Parrot Virtual Machine in PostgreSQL
PL/Parrot - Parrot Virtual Machine in PostgreSQL
PL/Parrot - Parrot Virtual Machine in PostgreSQL
PL/Parrot - Parrot Virtual Machine in PostgreSQL



PL/Parrot 0.04

PL/Parrot is a PostgreSQL procedural language for the Parrot virtual machine.


This code is distributed under the terms of the Artistic License 2.0.
For more details, see the full text of the license in the file LICENSE.


For the impatient, to install PL/Parrot into a PostgreSQL database, just do this:

    make install
    make installcheck

If you get an error such as:

Makefile:13: /usr/lib/postgresql/8.4/lib/pgxs/src/makefiles/ No such file or directory
make: *** No rule to make target `/usr/lib/postgresql/8.4/lib/pgxs/src/makefiles/'.  Stop.

then you probably installed postgres from a debian package. You need to install the
postgresql-server-dev-X package, where X is your version of PostgreSQL. For example:

    sudo apt-get install postgresql-server-dev-8.4

To run the tests with pg_prove you should create the plpgsql language in your database.
The default database name is your current username, so this should work:

    createlang plpgsql $USER
    make test

If you encounter an error such as:

    "Makefile", line 8: Need an operator

You need to use GNU make, which may well be installed on your system as

    gmake install
    gmake installcheck

If you encounter an error such as:

    make: pg_config: Command not found

Be sure that you have `pg_config` installed and in your path. If you used a
package management system such as RPM to install PostgreSQL, be sure that the
`-devel` package is also installed. If necessary, add the path to `pg_config`
to your `$PATH` environment variable:

    env PATH=$PATH:/path/to/pgsql/bin \
    make && make install && make installcheck

And finally, if all that fails, copy the entire distribution directory to the
`contrib/` subdirectory of the PostgreSQL source tree and try it there without
the `$USE_PGXS` variable:

    make NO_PGXS=1
    make install NO_PGXS=1
    make installcheck NO_PGXS=1

If you encounter an error such as:

    ERROR:  must be owner of database regression

You need to run the test suite using a super user, such as the default
"postgres" super user:

    make installcheck PGUSER=postgres

Testing PL/Parrot with PL/Parrot

In addition to the PostgreSQL-standard `installcheck` target, the `test`
target uses the `pg_prove` Perl program to do its testing, which requires
TAP::Harness, included in
[Test::Harness]( "Test::Harness on
CPAN") 3.x. You'll need to make sure that you use a database with PL/pgSQL
loaded, or else the tests won't work. `pg_prove` supports a number of
environment variables that you might need to use, including all the usual
PostgreSQL client environment variables:


You can use it to run the test suite as a database super user like so:

    make test PGUSER=postgres

Of course, if you're running the tests from the `contrib/` directory, you
should add the `NO_PGXS` variable.

Adding PL/Parrot to a Database

Once PL/Parrot has been built and tested, you can install it into a
PL/pgSQL-enabled database:

    psql -d dbname -f plparrot.sql

If you want PL/Parrot to be available to all new databases, install it into the
"template1" database:

    psql -d template1 -f plparrot.sql

The `plparrot.sql script will also be installed in the `contrib` directory
under the directory output by `pg_config --sharedir`. So you can always do

    psql -d template1 -f `pg_config --sharedir`/contrib/plparrot.sql