#strip CREATE SCHEMA since we force extension
# to create schema by setting schema to tiger_geocoder in control
sql_bits/tiger_geocoder_minor.sql.in: ../../extras/tiger_geocoder/tiger_2011/utility/set_search_path.sql \
+ ../../extras/tiger_geocoder/tiger_2011/tiger_loader_2012.sql \
../../extras/tiger_geocoder/tiger_2011/utility/utmzone.sql \
../../extras/tiger_geocoder/tiger_2011/utility/cull_null.sql \
../../extras/tiger_geocoder/tiger_2011/utility/nullable_levenshtein.sql \
../../extras/tiger_geocoder/tiger_2011/normalize/normalize_address.sql \
../../extras/tiger_geocoder/tiger_2011/normalize/pprint_addy.sql \
../../extras/tiger_geocoder/tiger_2011/pagc_normalize/pagc_tables.sql \
- ../../extras/tiger_geocoder/tiger_2011/pagc_normalize/pagc_normalize_address.sql \
+ ../../extras/tiger_geocoder/tiger_2011/pagc_normalize/pagc_normalize_address.sql \
../../extras/tiger_geocoder/tiger_2011/geocode/other_helper_functions.sql \
../../extras/tiger_geocoder/tiger_2011/geocode/rate_attributes.sql \
../../extras/tiger_geocoder/tiger_2011/geocode/includes_address.sql \
#aggregates are special
#they can be dropped but we need to remove
#them from the extension first
-sql/tiger_geocoder_upgrade_minor.sql: sql_bits/tiger_geocoder_minor.sql.in
+sql/tiger_geocoder_upgrade_minor.sql: sql_bits/tiger_geocoder_minor.sql.in
sed -e '/^\(CREATE\|ALTER\) \(CAST\|TYPE\|TABLE\|SCHEMA\|DOMAIN\|TRIGGER\).*;/d' \
-e '/^\(CREATE\|ALTER\) \(CAST\|TYPE\|TABLE\|SCHEMA\|DOMAIN\|TRIGGER\)/,/\;/d' \
+ -e 's/BEGIN;//g' -e 's/COMMIT;//g' \
$< > $@
-
+
sql_minor_upgrade: ../postgis_extension_helper.sql sql_bits/remove_from_extension.sql.in sql/tiger_geocoder_upgrade_minor.sql sql_bits/mark_editable_objects.sql.in sql_bits/tiger_geocoder_comments.sql ../postgis_extension_helper_uninstall.sql
for OLD_VERSION in $(UPGRADEABLE_VERSIONS); do \
cat $^ > sql/$(EXTENSION)--$$OLD_VERSION--$(EXTVERSION).sql; \
-- Author: Regina Obe and Leo Hsu <lr@pcorp.us>
--
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
---SET search_path TO tiger,public;
---ALTER TABLE tiger.faces RENAME cd111fp TO cdfp;
SELECT tiger.SetSearchPathForInstall('tiger');
BEGIN;
CREATE OR REPLACE FUNCTION loader_macro_replace(param_input text, param_keys text[],param_values text[])
$$
LANGUAGE sql VOLATILE;
+DO
+$$
+BEGIN
+ IF NOT EXISTS (SELECT * FROM information_schema.tables WHERE table_name = 'loader_platform' AND table_schema = 'tiger') THEN
+ CREATE TABLE loader_platform(os varchar(50) PRIMARY KEY, declare_sect text, pgbin text, wget text, unzip_command text, psql text, path_sep text, loader text, environ_set_command text, county_process_command text);
+ END IF;
+END
+$$ LANGUAGE 'plpgsql';
-
-DROP TABLE IF EXISTS loader_platform;
-CREATE TABLE loader_platform(os varchar(50) PRIMARY KEY, declare_sect text, pgbin text, wget text, unzip_command text, psql text, path_sep text, loader text, environ_set_command text, county_process_command text);
+DELETE FROM loader_platform WHERE os IN ('sh', 'windows');
GRANT SELECT ON TABLE loader_platform TO public;
INSERT INTO loader_platform(os, wget, pgbin, declare_sect, unzip_command, psql,path_sep,loader, environ_set_command, county_process_command)
VALUES('windows', '%WGETTOOL%', '%PGBIN%',
E'set TMPDIR=${staging_fold}\\temp\\
set UNZIPTOOL="C:\\Program Files\\7-Zip\\7z.exe"
set WGETTOOL="C:\\wget\\wget.exe"
-set PGBIN=C:\\Program Files\\PostgreSQL\\8.4\\bin\\
+set PGBIN=C:\\Program Files\\PostgreSQL\\9.2\\bin\\
set PGPORT=5432
set PGHOST=localhost
set PGUSER=postgres
set SHP2PGSQL="%PGBIN%shp2pgsql"
cd ${staging_fold}
', E'del %TMPDIR%\\*.* /Q
-%PSQL% -c "DROP SCHEMA IF EXISTS ${staging_schema} CASCADE;"
-%PSQL% -c "CREATE SCHEMA IF NOT EXISTS ${staging_schema};"
-%PSQL% -c "CREATE SCHEMA IF NOT EXISTS ${data_schema};"
+%PSQL% -c "DROP SCHEMA IF EXISTS ${staging_schema} CASCADE; CREATE SCHEMA ${staging_schema};"
+%PSQL% -c "CREATE SCHEMA ${staging_schema};"
+%PSQL% -c "DO language ''plpgsql'' $$ BEGIN IF NOT EXISTS (SELECT * FROM information_schema.schemata WHERE schema_name = ''${data_schema}'' ) THEN CREATE SCHEMA ${data_schema}; END IF; END $$"
for /r %%z in (*.zip) do %UNZIPTOOL% e %%z -o%TMPDIR%
cd %TMPDIR%', E'%PSQL%', E'\\', E'%SHP2PGSQL%', 'set ',
'for /r %%z in (*${table_name}.dbf) do (${loader} -s 4269 -g the_geom -W "latin1" %%z tiger_staging.${state_abbrev}_${table_name} | ${psql} & ${psql} -c "SELECT loader_load_staged_data(lower(''${state_abbrev}_${table_name}''), lower(''${state_abbrev}_${lookup_name}''));")'
SHP2PGSQL=${PGBIN}/shp2pgsql
cd ${staging_fold}
', E'rm -f ${TMPDIR}/*.*
-${PSQL} -c "DROP SCHEMA IF EXISTS ${staging_schema} CASCADE;"
-${PSQL} -c "CREATE SCHEMA IF NOT EXISTS ${staging_schema};"
-${PSQL} -c "CREATE SCHEMA IF NOT EXISTS ${data_schema};"
+%PSQL% -c "DROP SCHEMA IF EXISTS ${staging_schema} CASCADE; CREATE SCHEMA ${staging_schema};"
+%PSQL% -c "CREATE SCHEMA ${staging_schema};"
+%PSQL% -c "DO language ''plpgsql'' $$ BEGIN IF NOT EXISTS (SELECT * FROM information_schema.schemata WHERE schema_name = ''${data_schema}'' ) THEN CREATE SCHEMA ${data_schema}; END IF; END $$"
for z in *.zip; do $UNZIPTOOL -o -d $TMPDIR $z; done
for z in */*.zip; do $UNZIPTOOL -o -d $TMPDIR $z; done
done');
-- variables table
-DROP TABLE IF EXISTS loader_variables;
-CREATE TABLE loader_variables(tiger_year varchar(4) PRIMARY KEY, website_root text, staging_fold text, data_schema text, staging_schema text);
+DO $$
+BEGIN
+ IF NOT EXISTS (SELECT * FROM information_schema.tables WHERE table_name = 'loader_variables' AND table_schema = 'tiger') THEN
+ CREATE TABLE loader_variables(tiger_year varchar(4) PRIMARY KEY, website_root text, staging_fold text, data_schema text, staging_schema text);
+ END IF;
+END
+$$ LANGUAGE 'plpgsql';
+
+TRUNCATE TABLE loader_variables;
INSERT INTO loader_variables(tiger_year, website_root , staging_fold, data_schema, staging_schema)
VALUES('2012', 'ftp://ftp2.census.gov/geo/tiger/TIGER2012', '/gisdata', 'tiger_data', 'tiger_staging');
GRANT SELECT ON TABLE loader_variables TO public;
-DROP TABLE IF EXISTS loader_lookuptables;
-CREATE TABLE loader_lookuptables(process_order integer NOT NULL DEFAULT 1000,
+DO $$
+BEGIN
+ IF NOT EXISTS (SELECT * FROM information_schema.tables WHERE table_name = 'loader_lookuptables' AND table_schema = 'tiger') THEN
+ CREATE TABLE loader_lookuptables(process_order integer NOT NULL DEFAULT 1000,
lookup_name text primary key,
table_name text, single_mode boolean NOT NULL DEFAULT true,
load boolean NOT NULL DEFAULT true,
level_nation boolean NOT NULL DEFAULT false,
post_load_process text, single_geom_mode boolean DEFAULT false,
insert_mode char(1) NOT NULL DEFAULT 'c',
- pre_load_process text,columns_exclude text[], website_root_override text);
+ pre_load_process text,columns_exclude text[], website_root_override text);
+ END IF;
+END
+$$ LANGUAGE 'plpgsql';
+
+TRUNCATE TABLE loader_lookuptables;
+
GRANT SELECT ON TABLE loader_lookuptables TO public;
RETURNS integer AS
$$
-- exclude this set list of columns if no exclusion list is specified
+
SELECT loader_load_staged_data($1, $2,(SELECT COALESCE(columns_exclude,ARRAY['gid', 'geoid','cpi','suffix1ce', 'statefp00', 'statefp10', 'countyfp00','countyfp10'
,'tractce00','tractce10', 'blkgrpce00', 'blkgrpce10', 'blockce00', 'blockce10'
, 'cousubfp00', 'submcdfp00', 'conctyfp00', 'placefp00', 'aiannhfp00', 'aiannhce00',