Thank you, Bborie. This seems to be a partial solution (at least now
PostGIS isn't complaining about the out-db raster). But now I get a
different problem, which is that attempting to access the out-db raster
makes the connection choke:
select st_summarystats(rast) from slope;
The connection to the server was lost. Attempting reset: Failed.
!>
-P.
**************************************************************
Philip M. Hurvitz, PhD | Research Assistant Professor | UW-CBE
Urban Form Lab | 1107 NE 45th Street, Suite 535 | Box 354802
University of Washington, Seattle, Washington 98195-4802, USA
[email protected] | http://gis.washington.edu/phurvitz
"What is essential is invisible to the eye." -de Saint-Exupéry
**************************************************************
On 2/25/2015 12:41, Bborie Park wrote:
Ah. I use a script similar to this.
In the following block...
start)
...
su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1
...
You'll want to modify the su line to be like:
su - $PGUSER -c "POSTGIS_ENABLE_OUTDB_RASTERS=1
POSTGIS_GDAL_ENABLED_DRIVERS=__ENABLE_ALL $DAEMON -D '$PGDATA' &"
>>$PGLOG 2>&1
See if that works...
-bborie
On Wed, Feb 25, 2015 at 12:29 PM, Phil Hurvitz <[email protected]
<mailto:[email protected]>> wrote:
Certainly!
! /bin/sh
# chkconfig: 2345 98 02
# description: PostgreSQL RDBMS
# This is an example of a start/stop script for SysV-style init, such
# as is used on Linux systems. You should edit some of the variables
# and maybe the 'echo' commands.
#
# Place this file at /etc/init.d/postgresql (or
# /etc/rc.d/init.d/postgresql) and make symlinks to
# /etc/rc.d/rc0.d/K02postgresql
# /etc/rc.d/rc1.d/K02postgresql
# /etc/rc.d/rc2.d/K02postgresql
# /etc/rc.d/rc3.d/S98postgresql
# /etc/rc.d/rc4.d/S98postgresql
# /etc/rc.d/rc5.d/S98postgresql
# Or, if you have chkconfig, simply:
# chkconfig --add postgresql
#
# Proper init scripts on Linux systems normally require setting lock
# and pid files under /var/run as well as reacting to network
# settings, so you should treat this with care.
# Original author: Ryan Kirkpatrick <[email protected]
<mailto:[email protected]>>
# contrib/start-scripts/linux
## EDIT FROM HERE
# Installation prefix
prefix=/usr/local/pgsql
# Data directory
PGDATA="/usr/local/pgsql/data"
POSTGIS_GDAL_ENABLED_DRIVERS=__ENABLE_ALL
# Who to run the postmaster as, usually "postgres". (NOT "root")
PGUSER=postgres
# Where to keep a log file
PGLOG="$PGDATA/serverlog"
# It's often a good idea to protect the postmaster from being killed
by the
# OOM killer (which will tend to preferentially kill the postmaster
because
# of the way it accounts for shared memory). Setting the
OOM_SCORE_ADJ value
# to -1000 will disable OOM kill altogether. If you enable this,
you probably
# want to compile PostgreSQL with "-DLINUX_OOM_SCORE_ADJ=0", so that
# individual backends can still be killed by the OOM killer.
#OOM_SCORE_ADJ=-1000
# Older Linux kernels may not have /proc/self/oom_score_adj, but instead
# /proc/self/oom_adj, which works similarly except the disable value
is -17.
# For such a system, enable this and compile with "-DLINUX_OOM_ADJ=0".
#OOM_ADJ=-17
POSTGIS_ENABLE_OUTDB_RASTERS=1
POSTGIS_GDAL_ENABLED_DRIVERS=__ENABLE_ALL
## STOP EDITING HERE
# The path that is to be used for the script
PATH=/usr/local/sbin:/usr/__local/bin:/sbin:/bin:/usr/__sbin:/usr/bin
# What to use to start up the postmaster. (If you want the script
to wait
# until the server has started, you could use "pg_ctl start -w" here.
# But without -w, pg_ctl adds no value.)
DAEMON="$prefix/bin/__postmaster"
# What to use to shut down the postmaster
PGCTL="$prefix/bin/pg_ctl"
set -e
# Only start if we can find the postmaster.
test -x $DAEMON ||
{
echo "$DAEMON not found"
if [ "$1" = "stop" ]
then exit 0
else exit 5
fi
}
# Parse command line parameters.
case $1 in
start)
echo -n "Starting PostgreSQL: "
test x"$OOM_SCORE_ADJ" != x && echo "$OOM_SCORE_ADJ" >
/proc/self/oom_score_adj
test x"$OOM_ADJ" != x && echo "$OOM_ADJ" > /proc/self/oom_adj
su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1
echo "ok"
;;
stop)
echo -n "Stopping PostgreSQL: "
su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast"
echo "ok"
;;
restart)
echo -n "Restarting PostgreSQL: "
su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast -w"
test x"$OOM_SCORE_ADJ" != x && echo "$OOM_SCORE_ADJ" >
/proc/self/oom_score_adj
test x"$OOM_ADJ" != x && echo "$OOM_ADJ" > /proc/self/oom_adj
su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1
echo "ok"
;;
reload)
echo -n "Reload PostgreSQL: "
su - $PGUSER -c "$PGCTL reload -D '$PGDATA' -s"
echo "ok"
;;
status)
su - $PGUSER -c "$PGCTL status -D '$PGDATA'"
;;
*)
# Print help
echo "Usage: $0 {start|stop|restart|reload|__status}" 1>&2
exit 1
;;
esac
exit 0
-P.
******************************__******************************__**
Philip M. Hurvitz, PhD | Research Assistant Professor | UW-CBE
Urban Form Lab | 1107 NE 45th Street, Suite 535 | Box 354802
University of Washington, Seattle, Washington 98195-4802, USA
[email protected] <mailto:[email protected]> |
http://gis.washington.edu/__phurvitz
<http://gis.washington.edu/phurvitz>
"What is essential is invisible to the eye." -de Saint-Exupéry
******************************__******************************__**
On 2/25/2015 12:25, Bborie Park wrote:
Can you post the shell script?
On Wed, Feb 25, 2015 at 11:50 AM, Phil Hurvitz <[email protected]
<mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>> wrote:
Thanks Bborie, I am starting with a shell script, and have
added the
env vars to that script, but am still unable to access the
out-db
rasters.
-P.
******************************____****************************__**__**
Philip M. Hurvitz, PhD | Research Assistant Professor | UW-CBE
Urban Form Lab | 1107 NE 45th Street, Suite 535 | Box 354802
University of Washington, Seattle, Washington 98195-4802, USA
[email protected] <mailto:[email protected]>
<mailto:[email protected].__edu
<mailto:[email protected]>> |
http://gis.washington.edu/____phurvitz
<http://gis.washington.edu/__phurvitz>
<http://gis.washington.edu/__phurvitz
<http://gis.washington.edu/phurvitz>>
"What is essential is invisible to the eye." -de Saint-Exupéry
******************************____****************************__**__**
On 2/25/2015 11:45, Bborie Park wrote:
The env variables need to be within the environment of
the postgres
process. How are you starting postgres?
Shell script? Then you should be able to add the
variables to
that script.
Direct invocation of posrgres on the command line? You
need to
have the
variables before the command
VAR=1 postgres ...
-bborie
On Feb 25, 2015 11:40 AM, "Phil Hurvitz"
<[email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>
<mailto:[email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>>> wrote:
Thanks Bborie, I built from the tarball rather
than using
an rpm;
does that still mean I should be adding the
environment
variables to
/etc/sysconfig/pgsql/______postgresql
So for overkill I added the env vars to that file
as well
as to the
init script, restarted PostgreSQL, and it seems I
still cannot
access the out-db raster.
I added a slope raster using:
raster2pgsql -I -C -e -Y -F -d -R -s 2926
./slope/slope_ps.tif
gis.slope | psql osm_test
I can get metadata (sorry for the ugly text wrapping):
select rid, (foo.md <http://foo.md>
<http://foo.md> <http://foo.md>).* from
(select rid,
st_Metadata(rast) as md from slope) as foo;
rid | upperleftx | upperlefty |
width | height |
scalex | scaley | skewx | skewy |
srid |
numbands
-----+------------------+-----______-------------+-------+----__--__--__+------------------+--__----__----__---------+-------+__------__-+----__--+----------
1 | 835161.301005914 | 758483.868026069 |
31935 | 34649 |
32.8083333333333 | -32.8083333333333 | 0 |
0 | 2926
| 1
But cannot access values:
select st_summarystats(rast) from slope;
ERROR: rt_raster_load_offline_data: Access to offline
bands disabled
CONTEXT: SQL function "st_summarystats" statement 1
select st_value(rast, 1, 1, 1) from slope;
ERROR: rt_raster_load_offline_data: Access to offline
bands disabled
-P.
******************************______**************************__**__**__**
Philip M. Hurvitz, PhD | Research Assistant
Professor | UW-CBE
Urban Form Lab | 1107 NE 45th Street, Suite 535
| Box 354802
University of Washington, Seattle, Washington
98195-4802, USA
[email protected] <mailto:[email protected]>
<mailto:[email protected].__edu
<mailto:[email protected]>>
<mailto:[email protected].
<mailto:[email protected].>____edu
<mailto:[email protected].__edu
<mailto:[email protected]>>> |
http://gis.washington.edu/______phurvitz
<http://gis.washington.edu/____phurvitz>
<http://gis.washington.edu/____phurvitz
<http://gis.washington.edu/__phurvitz>>
<http://gis.washington.edu/____phurvitz
<http://gis.washington.edu/__phurvitz>
<http://gis.washington.edu/__phurvitz
<http://gis.washington.edu/phurvitz>>>
"What is essential is invisible to the eye." -de
Saint-Exupéry
******************************______**************************__**__**__**
Bborie Park [email protected]
<mailto:[email protected]>
<mailto:[email protected]
<mailto:[email protected]>> <mailto:[email protected]
<mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>>
Wed Feb 25 10:46:59 PST 2015
>
Philip,
POSTGIS_ENABLE_OUTDB_RASTERS=1 is an environment
variable not to
be in
postgresql.conf.
The same is true for
POSTGIS_GDAL_ENABLED_DRIVERS=______ENABLE_ALL
https://wiki.postgresql.org/______wiki/PostgreSQL_on_RedHat_______Linux
<https://wiki.postgresql.org/____wiki/PostgreSQL_on_RedHat_____Linux>
<https://wiki.postgresql.org/____wiki/PostgreSQL_on_RedHat_____Linux
<https://wiki.postgresql.org/__wiki/PostgreSQL_on_RedHat___Linux>>
<https://wiki.postgresql.org/____wiki/PostgreSQL_on_RedHat_____Linux
<https://wiki.postgresql.org/__wiki/PostgreSQL_on_RedHat___Linux>
<https://wiki.postgresql.org/__wiki/PostgreSQL_on_RedHat___Linux
<https://wiki.postgresql.org/wiki/PostgreSQL_on_RedHat_Linux>>>
Based upon the above, it looks like you should add
POSTGIS_ENABLE_OUTDB_RASTERS=1
POSTGIS_GDAL_ENABLED_DRIVERS=______ENABLE_ALL
to /etc/sysconfig/pgsql/______postgresql
The above assumes you're using the packages
provided by
PostgreSQL.
http://www.postgresql.org/______download/linux/redhat/
<http://www.postgresql.org/____download/linux/redhat/>
<http://www.postgresql.org/____download/linux/redhat/
<http://www.postgresql.org/__download/linux/redhat/>>
<http://www.postgresql.org/____download/linux/redhat/
<http://www.postgresql.org/__download/linux/redhat/>
<http://www.postgresql.org/__download/linux/redhat/
<http://www.postgresql.org/download/linux/redhat/>>>
-bborie
On 2/25/2015 10:10, Phil Hurvitz wrote:
Hi all, I am having trouble starting PostGIS with
out-db raster
support
In my
/usr/local/pgsql/data/______postgresql.conf file I
include the
line
POSTGIS_ENABLE_OUTDB_RASTERS=1
after which PostGIS won't start (service
postgresql start).
Software is
postgis_full_version
------------------------------______--------------------------__--__--__-----------
POSTGIS="2.1.3 r12547"
GEOS="3.4.2-CAPI-1.8.2 r3921"
PROJ="Rel. 4.7.1,
23 September 2009" GDAL="GDAL 1.11.2, released
2015/02/10"
LIBXML="2.7.6" TOPOLOGY RASTER
Also PostGIS won't start when I specify
POSTGIS_GDAL_ENABLED_DRIVERS=______ENABLE_ALL
Any help would be appreciated!
_______________________________________________
postgis-users mailing list
[email protected]
http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users