+++ /dev/null
-/*
- * Copyright (C) 2004-2008 Georgia Public Library Service
- * Copyright (C) 2008 Equinox Software, Inc., Laurentian University
- * Mike Rylander <miker@esilibrary.com>
- * Dan Scott <dscott@laurentian.ca>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
-
-BEGIN;
-
-SET search_path = public, pg_catalog;
-
-CREATE OR REPLACE FUNCTION oils_tsearch2 () RETURNS TRIGGER AS $$
-BEGIN
- NEW.index_vector = to_tsvector((TG_ARGV[0])::regconfig, NEW.value);
- RETURN NEW;
-END;
-$$ LANGUAGE PLPGSQL;
-
-DROP TEXT SEARCH DICTIONARY IF EXISTS english_nostop CASCADE;
-
-CREATE TEXT SEARCH DICTIONARY english_nostop (TEMPLATE=pg_catalog.snowball, language='english');
-COMMENT ON TEXT SEARCH DICTIONARY english_nostop IS 'English snowball stemmer with no stopwords for ASCII words only.';
-
-CREATE TEXT SEARCH CONFIGURATION title ( COPY = pg_catalog.english );
-ALTER TEXT SEARCH CONFIGURATION title ALTER MAPPING FOR word, hword, hword_part WITH pg_catalog.simple;
-ALTER TEXT SEARCH CONFIGURATION title ALTER MAPPING FOR asciiword, asciihword, hword_asciipart WITH english_nostop;
-CREATE TEXT SEARCH CONFIGURATION author ( COPY = title );
-CREATE TEXT SEARCH CONFIGURATION subject ( COPY = title );
-CREATE TEXT SEARCH CONFIGURATION keyword ( COPY = title );
-CREATE TEXT SEARCH CONFIGURATION identifier ( COPY = title );
-CREATE TEXT SEARCH CONFIGURATION series ( COPY = title );
-CREATE TEXT SEARCH CONFIGURATION "default" ( COPY = title );
-
-COMMIT;
--- /dev/null
+000.english.pg90.fts-config.sql
\ No newline at end of file
+++ /dev/null
--- This file is intended to be called by eg_db_config.pl
-
--- If manually calling:
--- Connect to the postgres database initially
--- Specify the database to create as -vdb_name=DATABASE
--- Specify the postgres contrib directory as -vcontrib_dir=CONTRIBDIR
--- You can get the contrib directory using pg_config --sharedir and adding a /contrib to it
-
--- NOTE: This file does not do transactions
--- This is intentional. Please do not wrap in BEGIN/COMMIT.
-DROP DATABASE IF EXISTS :db_name;
-
-CREATE DATABASE :db_name TEMPLATE template0 ENCODING 'UNICODE' LC_COLLATE 'C' LC_CTYPE 'C';
-
-\connect :db_name
-
---CREATE LANGUAGE plperl;
-CREATE LANGUAGE plperlu;
-
--- This dance is because :variable/blah doesn't seem to work when doing \i
--- But it does when doing \set
--- So we \set to a single variable, then use that single variable with \i
-\set load_file :contrib_dir/tablefunc.sql
-\i :load_file
-\set load_file :contrib_dir/tsearch2.sql
-\i :load_file
-\set load_file :contrib_dir/pgxml.sql
-\i :load_file
-\set load_file :contrib_dir/hstore.sql
-\i :load_file
+++ /dev/null
--- This file is intended to be called by eg_db_config.pl
-
--- If manually calling:
--- Connect to the postgres database initially
--- Specify the database to create as -vdb_name=DATABASE
--- Specify the postgres contrib directory as -vcontrib_dir=CONTRIBDIR
--- You can get the contrib directory using pg_config --sharedir and adding a /contrib to it
-
--- NOTE: This file does not do transactions
--- This is intentional. Please do not wrap in BEGIN/COMMIT.
-DROP DATABASE IF EXISTS :db_name;
-
-CREATE DATABASE :db_name TEMPLATE template0 ENCODING 'UNICODE' LC_COLLATE 'C' LC_CTYPE 'C';
-
-\connect :db_name
-
---CREATE LANGUAGE plperl;
-CREATE LANGUAGE plperlu;
-
-CREATE EXTENSION tablefunc;
-CREATE EXTENSION tsearch2;
-CREATE EXTENSION xml2;
-CREATE EXTENSION hstore;
--- /dev/null
+-- This file is intended to be called by eg_db_config.pl
+
+-- If manually calling:
+-- Connect to the postgres database initially
+-- Specify the database to create as -vdb_name=DATABASE
+-- Specify the postgres contrib directory as -vcontrib_dir=CONTRIBDIR
+-- You can get the contrib directory using pg_config --sharedir and adding a /contrib to it
+
+-- NOTE: This file does not do transactions
+-- This is intentional. Please do not wrap in BEGIN/COMMIT.
+DROP DATABASE IF EXISTS :db_name;
+
+CREATE DATABASE :db_name TEMPLATE template0 ENCODING 'UNICODE' LC_COLLATE 'C' LC_CTYPE 'C';
+
+\connect :db_name
+
+--CREATE LANGUAGE plperl;
+CREATE LANGUAGE plperlu;
+
+-- This dance is because :variable/blah doesn't seem to work when doing \i
+-- But it does when doing \set
+-- So we \set to a single variable, then use that single variable with \i
+\set load_file :contrib_dir/tablefunc.sql
+\i :load_file
+\set load_file :contrib_dir/tsearch2.sql
+\i :load_file
+\set load_file :contrib_dir/pgxml.sql
+\i :load_file
+\set load_file :contrib_dir/hstore.sql
+\i :load_file
--- /dev/null
+-- This file is intended to be called by eg_db_config.pl
+
+-- If manually calling:
+-- Connect to the postgres database initially
+-- Specify the database to create as -vdb_name=DATABASE
+-- Specify the postgres contrib directory as -vcontrib_dir=CONTRIBDIR
+-- You can get the contrib directory using pg_config --sharedir and adding a /contrib to it
+
+-- NOTE: This file does not do transactions
+-- This is intentional. Please do not wrap in BEGIN/COMMIT.
+DROP DATABASE IF EXISTS :db_name;
+
+CREATE DATABASE :db_name TEMPLATE template0 ENCODING 'UNICODE' LC_COLLATE 'C' LC_CTYPE 'C';
+
+\connect :db_name
+
+--CREATE LANGUAGE plperl;
+CREATE LANGUAGE plperlu;
+
+CREATE EXTENSION tablefunc;
+CREATE EXTENSION tsearch2;
+CREATE EXTENSION xml2;
+CREATE EXTENSION hstore;
my $prefix = '';
my $sysconfdir = '';
my $pg_contribdir = '';
-my $create_db_sql = '';
-my $create_db_sql_9_1 = '';
+my $create_db_sql_contribs = '';
+my $create_db_sql_extensions = '';
my @services;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$settings->{pw} = $settings->{pw} || $opensrf_config->findnodes($pw);
}
-=item create_database() - Creates the database using create_database.sql
+=item create_database() - Creates the database using create_database_contribs.sql
=cut
sub create_database {
my $settings = shift;
chomp $temp[0];
my $pgversion = $temp[0];
my $cmd;
- # If it looks like it is 9.1 or greater, use create_database_9_1.sql
- # Otherwise use create_database.sql
+ # If it looks like it is 9.1 or greater, use create_database_extensions.sql
+ # Otherwise use create_database_contribs.sql
if($pgversion >= '91') {
- $cmd = 'psql -vdb_name=' . $settings->{db} . ' -d postgres -f ' . $create_db_sql_9_1;
+ $cmd = 'psql -vdb_name=' . $settings->{db} . ' -d postgres -f ' . $create_db_sql_extensions;
} else {
$cmd = 'psql -vdb_name=' . $settings->{db} . ' -vcontrib_dir=' . $pg_contribdir .
- ' -d postgres -f ' . $create_db_sql;
+ ' -d postgres -f ' . $create_db_sql_contribs;
}
my @output = `$cmd 2>&1`;
if(grep(/(ERROR|No such file or directory)/,@output)) {
"config-file=s" => \$config_file,
"build-db-file=s" => \$build_db_sh,
"pg-contrib-dir=s" => \$pg_contribdir,
- "create-db-sql=s" => \$create_db_sql,
- "create-db-sql-9-1=s" => \$create_db_sql_9_1,
+ "create-db-sql-contribs=s" => \$create_db_sql_contribs,
+ "create-db-sql-extensions=s" => \$create_db_sql_extensions,
"pg-config=s" => \$pgconfig,
"admin-user=s" => \$admin_user,
"admin-password=s" => \$admin_pw,
$pg_contribdir = File::Spec->catdir($temp[0], 'contrib');
}
-if (!$create_db_sql) {
- $create_db_sql = File::Spec->catfile($script_dir, '../sql/Pg/create_database.sql');
+if (!$create_db_sql_contribs) {
+ $create_db_sql_contribs = File::Spec->catfile($script_dir, '../sql/Pg/create_database_contribs.sql');
}
-if (!$create_db_sql_9_1) {
- $create_db_sql_9_1 = File::Spec->catfile($script_dir, '../sql/Pg/create_database_9_1.sql');
+if (!$create_db_sql_extensions) {
+ $create_db_sql_extensions = File::Spec->catfile($script_dir, '../sql/Pg/create_database_extensions.sql');
}
if (!$offline_file) {