<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>cablop.net - Software Tips &#187; Servidores</title>
	<atom:link href="http://sw.cablop.net/tips/category/servidores/feed/" rel="self" type="application/rss+xml" />
	<link>http://sw.cablop.net/tips</link>
	<description>Tips de software, hardware... y algo más</description>
	<lastBuildDate>Fri, 05 Feb 2010 16:50:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mover los archivos de las bases de datos de MySQL a otra ruta en Ubuntu</title>
		<link>http://sw.cablop.net/tips/2009/10/13/mover-los-archivos-de-las-bases-de-datos-de-mysql-a-otra-ruta-en-ubuntu/</link>
		<comments>http://sw.cablop.net/tips/2009/10/13/mover-los-archivos-de-las-bases-de-datos-de-mysql-a-otra-ruta-en-ubuntu/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 00:52:23 +0000</pubDate>
		<dc:creator>天龙</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[base de datos]]></category>

		<guid isPermaLink="false">http://sw.cablop.net/tips/?p=114</guid>
		<description><![CDATA[Esto es especialmente útil cuando queremos que estos archivos queden en otra ubicación, como otro directorio, otra partición, otro disco duro, quizá un disco extraíble o una unidad en red.
Los pasos:
1) Creamos la nueva ubicación para los archivos y le damos los permisos al usuario mysql
$ sudo mkdir /nueva/ubicacion/bases/mysql
$ sudo chown mysql:mysql /nueva/ubicacion/bases/mysql
2) Nos deplazamos [...]]]></description>
			<content:encoded><![CDATA[<p>Esto es especialmente útil cuando queremos que estos archivos queden en otra ubicación, como otro directorio, otra partición, otro disco duro, quizá un disco extraíble o una unidad en red.</p>
<p>Los pasos:</p>
<p>1) Creamos la nueva ubicación para los archivos y le damos los permisos al usuario mysql</p>
<p style="padding-left: 30px"><span style="color: #993300"><code>$ sudo mkdir /nueva/ubicacion/bases/mysql<br />
$ sudo chown mysql:mysql /nueva/ubicacion/bases/mysql</code></span></p>
<p>2) Nos deplazamos a la ubicación actual de los archivos de las bases de datos
</p>
<p style="padding-left: 30px"><span style="color: #993300"><code>$ cd /var/lib/mysql</code></span></p>
<p>3) Detenemos el motor de bases de datos</p>
<p style="padding-left: 30px"><span style="color: #993300"><code>$ sudo /etc/init.d/mysql stop</code></span></p>
<p>4) Copiamos la carpeta de cada base de datos a la nueva ubicación preservando sus permisos</p>
<p style="padding-left: 30px"><span style="color: #993300"><code>$ cp -rp mysql /nueva/ubicacion/bases/mysql/</code></span></p>
<p>5) Editamos el archivo my.cnf (<span style="color: #339966">/etc/mysql/my.cnf</span>)</p>
<p style="padding-left: 30px"><span style="color: #993300"><code>$ sudo -b gedit /etc/mysql/my.cnf</code></span></p>
<p>o</p>
<p style="padding-left: 30px"><span style="color: #993300"><code>$ sudo nano /etc/mysql/my.cnf</code></span></p>
<p>y modificamos la línea</p>
<p style="padding-left: 30px"><span style="color: #333399"><code>datadir = /var/lib/mysql</code></span></p>
<p>con la nueva ubicación</p>
<p style="padding-left: 30px"><span style="color: #333399"><code>datadir = /nueva/ubicacion/bases/mysql</code></span></p>
<p>6) Renombramos o reubicamos las viejas bases de datos.</p>
<p>7) Reiniciamos el servidor MySQL</p>
<p style="padding-left: 30px"><span style="color: #993300"><code>$ sudo /etc/init.d/mysql start</code></span></p>
<p>Si todo ha salido bien, nuestro servidor de MySQL está corriendo nuevamente con las mismas bases de datos que ya teníamos.</p>
<p><strong>Fuente:</strong></p>
<p><a href="http://www.ubuntu-howto.info/howto/how-to-move-mysql-databases-to-another-location-partition-or-hard-drive" target="_blank"> How to move mysql database to another drive or partition</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sw.cablop.net/tips/2009/10/13/mover-los-archivos-de-las-bases-de-datos-de-mysql-a-otra-ruta-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Obtener el SRID de un archivo .prj para usarlo en PostGIS</title>
		<link>http://sw.cablop.net/tips/2009/08/29/obtener-el-srid-de-un-archivo-prj-para-usarlo-en-postgis/</link>
		<comments>http://sw.cablop.net/tips/2009/08/29/obtener-el-srid-de-un-archivo-prj-para-usarlo-en-postgis/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 16:33:10 +0000</pubDate>
		<dc:creator>天龙</dc:creator>
				<category><![CDATA[PostGIS]]></category>
		<category><![CDATA[PostgreSQL 8.3]]></category>
		<category><![CDATA[PostgreSQL 8.x]]></category>
		<category><![CDATA[shape]]></category>
		<category><![CDATA[SRID]]></category>

		<guid isPermaLink="false">http://sw.cablop.net/tips/?p=77</guid>
		<description><![CDATA[Usualmente los archivos de shapes de GIS traen un archivo .prj adjunto. Este tiene la informacion de la proyeccción y otros datos. Lo abrimos con un editor de texto cualquiera, el contenido es similar al siguiente:
NAD_1983_StatePlane_Massachusetts_Mainland_FIPS_2001 and UNIT["Meter",1.0]
Luego en nuestra base de datos consultamos los SRIDs candidatos con una búsqueda como:
SELECT
srid, srtext, proj4text
FROM
spatial_ref_sys
WHERE
srtext ILIKE &#8216;%Massachusetts%&#8217;
De [...]]]></description>
			<content:encoded><![CDATA[<p>Usualmente los archivos de shapes de GIS traen un archivo .prj adjunto. Este tiene la informacion de la proyeccción y otros datos. Lo abrimos con un editor de texto cualquiera, el contenido es similar al siguiente:</p>
<p style="padding-left: 30px"><span style="color: #808080">NAD_1983_StatePlane_Massachusetts_Mainland_FIPS_2001 and UNIT["Meter",1.0]</span></p>
<p>Luego en nuestra base de datos consultamos los SRIDs candidatos con una búsqueda como:</p>
<p style="padding-left: 30px"><span style="color: #800000">SELECT<br />
srid, srtext, proj4text<br />
FROM<br />
spatial_ref_sys<br />
WHERE<br />
srtext ILIKE &#8216;%Massachusetts%&#8217;</span></p>
<p>De la que escogeremos el mejor candidato, es decir, aquel que sea más cercano a la proyección desrita en el archivo .prj.</p>
<p>Fuente: <a href="http://www.bostongis.com/PrinterFriendly.aspx?content_name=postgis_tut01" target="_blank"><span><span class="headertitle">Part  1: Getting Started With PostGIS: An almost Idiot&#8217;s Guide</span></span></a></p>
<p><span><span class="headertitle">La entrada original se encuentra bajo una licencia </span></span>GNU Free Documentation License 1.2 		<a href="http://www.gnu.org/copyleft/fdl.html">http://www.gnu.org/copyleft/fdl.html</a>, al igual que esta entrada.</p>
]]></content:encoded>
			<wfw:commentRss>http://sw.cablop.net/tips/2009/08/29/obtener-el-srid-de-un-archivo-prj-para-usarlo-en-postgis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Actualizar el SRID en una columna de geometrías en PostGIS</title>
		<link>http://sw.cablop.net/tips/2009/08/29/actualizar-el-srid-en-una-columna-de-geometrias-en-postgis/</link>
		<comments>http://sw.cablop.net/tips/2009/08/29/actualizar-el-srid-en-una-columna-de-geometrias-en-postgis/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 16:28:25 +0000</pubDate>
		<dc:creator>天龙</dc:creator>
				<category><![CDATA[PostGIS]]></category>
		<category><![CDATA[PostgreSQL 8.3]]></category>
		<category><![CDATA[geometry_columns]]></category>
		<category><![CDATA[PostgreSQL 8.x]]></category>
		<category><![CDATA[SRID]]></category>

		<guid isPermaLink="false">http://sw.cablop.net/tips/?p=74</guid>
		<description><![CDATA[Hay que cambiar dos valores, el de la tabla geometry_columns y los de cada geometría para que sean acordes.
Esto lo conseguimos mediante estos sqls:
Para modificar los valores a nivel geometry_columns:
SELECT updategeometrysrid('&#60;tabla&#62;', '&#60;columna_geometria&#62;', &#60;nuevo_srid&#62;);
Y este para modificar los valores internos:
SELECT setsrid(&#60;columna_geometria&#62;, &#60;nuevo_srid&#62;) FROM &#60;tabla&#62;;
Fuente: [postgis-users] changing srid 
]]></description>
			<content:encoded><![CDATA[<p>Hay que cambiar dos valores, el de la tabla <em>geometry_columns</em> y los de cada geometría para que sean acordes.</p>
<p>Esto lo conseguimos mediante estos sqls:</p>
<p>Para modificar los valores a nivel geometry_columns:</p>
<p style="padding-left: 30px"><code><span style="color: #800000">SELECT updategeometrysrid('&lt;tabla&gt;', '&lt;columna_geometria&gt;', &lt;nuevo_srid&gt;);</span></code></p>
<p>Y este para modificar los valores internos:</p>
<p style="padding-left: 30px"><code><span style="color: #800000">SELECT setsrid(</span><span style="color: #800000">&lt;columna_geometria&gt;, &lt;nuevo_srid&gt;</span><span style="color: #800000">) FROM &lt;tabla&gt;;</span></code></p>
<p>Fuente: <a href="http://postgis.refractions.net/pipermail/postgis-users/2005-June/008541.html" target="_blank">[postgis-users] changing srid </a></p>
]]></content:encoded>
			<wfw:commentRss>http://sw.cablop.net/tips/2009/08/29/actualizar-el-srid-en-una-columna-de-geometrias-en-postgis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Error &#8220;column not found in geometry_columns table&#8221; al ejecutar &#8220;updategeometrySRID&#8221;</title>
		<link>http://sw.cablop.net/tips/2009/08/29/error-column-not-found-in-geometry_columns-table-al-ejecutar-updategeometrysrid/</link>
		<comments>http://sw.cablop.net/tips/2009/08/29/error-column-not-found-in-geometry_columns-table-al-ejecutar-updategeometrysrid/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 16:24:28 +0000</pubDate>
		<dc:creator>天龙</dc:creator>
				<category><![CDATA[PostGIS]]></category>
		<category><![CDATA[PostgreSQL 8.3]]></category>
		<category><![CDATA[geometry_columns]]></category>
		<category><![CDATA[PostgreSQL 8.x]]></category>
		<category><![CDATA[updategeometrySRID]]></category>

		<guid isPermaLink="false">http://sw.cablop.net/tips/?p=70</guid>
		<description><![CDATA[Si al ejecutar algo como:
SELECT
	updategeometrySRID('&#60;tabla&#62;', '&#60;columna_geometria&#62;', &#60;srid&#62;);
obtenemos el siguiente error:
ERROR:  column not found in geometry_columns table
CONTEXT:  SQL statement "SELECT UpdateGeometrySRID('','', $1 , $2 , $3 )"
PL/pgSQL function "updategeometrysrid" line 4 at SQL statement
Este error se debe a que no tenemos resgitrada la columna en la tabla geometry_columns.
En la entrada anterior he citado como [...]]]></description>
			<content:encoded><![CDATA[<p>Si al ejecutar algo como:</p>
<p style="padding-left: 30px"><code><span style="color: #800000">SELECT<br />
	updategeometrySRID('&lt;tabla&gt;', '&lt;columna_geometria&gt;', &lt;srid&gt;);</span></code></p>
<p>obtenemos el siguiente error:</p>
<p style="padding-left: 30px"><code><span style="color: #808080">ERROR:  column not found in geometry_columns table<br />
CONTEXT:  SQL statement "SELECT UpdateGeometrySRID('','', $1 , $2 , $3 )"<br />
PL/pgSQL function "updategeometrysrid" line 4 at SQL statement</span></code></p>
<p>Este error se debe a que no tenemos resgitrada la columna en la tabla geometry_columns.</p>
<p>En la entrada anterior he citado como podemos agregar manualmente una columna a geometry_columns.</p>
]]></content:encoded>
			<wfw:commentRss>http://sw.cablop.net/tips/2009/08/29/error-column-not-found-in-geometry_columns-table-al-ejecutar-updategeometrysrid/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Agregar manualmente una columna de geometrías a geometry_columns en PostGIS</title>
		<link>http://sw.cablop.net/tips/2009/08/29/agregar-manualmente-una-columna-de-geometrias-a-geometry_columns-en-postgis/</link>
		<comments>http://sw.cablop.net/tips/2009/08/29/agregar-manualmente-una-columna-de-geometrias-a-geometry_columns-en-postgis/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 16:18:49 +0000</pubDate>
		<dc:creator>天龙</dc:creator>
				<category><![CDATA[PostGIS]]></category>
		<category><![CDATA[PostgreSQL 8.3]]></category>
		<category><![CDATA[geometry_columns]]></category>
		<category><![CDATA[PostgreSQL 8.x]]></category>

		<guid isPermaLink="false">http://sw.cablop.net/tips/?p=63</guid>
		<description><![CDATA[Si ya hemos creado una columna para las geometrías en nuestra tabla pero la columna no está referida en la tabla geometry_columns debemos agregarla manualmente.
Esto lo logramos con el siguiente sql:
INSERT INTO
	geometry_columns
	(
	f_table_catalog,
	f_table_schema,
	f_table_name,
	f_geometry_column,
	coord_dimension,
	srid,
	"type"
	)
SELECT
	'',
	'public',
	'&#60;tabla&#62;',
	'&#60;columna_geom&#62;',
	ST_CoordDim(&#60;columna_geom&#62;),
	ST_SRID(&#60;columna_geom&#62;),
	GeometryType(&#60;columna_geom&#62;)
FROM
	public.&#60;tabla&#62;
LIMIT
	1;

Fuente: &#8220;Manually Registering Geometry Columns in geometry_columns&#8221;  en el manual de PostGIS
]]></description>
			<content:encoded><![CDATA[<p>Si ya hemos creado una columna para las geometrías en nuestra tabla pero la columna no está referida en la tabla geometry_columns debemos agregarla manualmente.</p>
<p>Esto lo logramos con el siguiente sql:</p>
<pre style="padding-left: 30px"><span style="color: #993300">INSERT INTO
	geometry_columns
	(
</span><span style="color: #993300">	</span><span style="color: #993300">f_table_catalog,
	f_table_schema,
	f_table_name,
	f_geometry_column,
	coord_dimension,
	srid,
	"type"
</span><span style="color: #993300">	</span><span style="color: #993300">)
SELECT
	'',
	'public',
	'&lt;tabla&gt;',
	'&lt;columna_geom&gt;',
	ST_CoordDim(&lt;columna_geom&gt;),
	ST_SRID(&lt;columna_geom&gt;),
	GeometryType(&lt;columna_geom&gt;)
FROM
	public.&lt;tabla&gt;
LIMIT
	1;</span></pre>
<p>
Fuente: <a href="http://postgis.refractions.net/documentation/manual-svn/ch04.html#Manual_Register_Spatial_Column" target="_blank">&#8220;Manually Registering Geometry Columns in geometry_columns&#8221;  en el manual de PostGIS</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sw.cablop.net/tips/2009/08/29/agregar-manualmente-una-columna-de-geometrias-a-geometry_columns-en-postgis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como cambiar el orden de las columnas en PostgreSQL</title>
		<link>http://sw.cablop.net/tips/2009/08/29/como-cambiar-el-orden-de-las-columnas-en-postgresql/</link>
		<comments>http://sw.cablop.net/tips/2009/08/29/como-cambiar-el-orden-de-las-columnas-en-postgresql/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 16:10:19 +0000</pubDate>
		<dc:creator>天龙</dc:creator>
				<category><![CDATA[PostgreSQL 8.3]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[columna]]></category>
		<category><![CDATA[orden]]></category>
		<category><![CDATA[PostgreSQL 8.x]]></category>
		<category><![CDATA[tabla]]></category>

		<guid isPermaLink="false">http://sw.cablop.net/tips/?p=58</guid>
		<description><![CDATA[Este está tomado de la siguiente pregunta en stackoverflow.com: Is it possible to change the natural order of columns in Postgres?.
El procedimiento es simple, aunque no lo recomiendan para usuarios inexpertos o poco cuidadosos. Incluso, debería omitirse esto si no es estrictamente necesario el cambio (las posibilidades de arruinar el sistema son altas). en Eo [...]]]></description>
			<content:encoded><![CDATA[<p>Este está tomado de la siguiente pregunta en <em>stackoverflow.com</em>: <a href="http://stackoverflow.com/questions/126430/is-it-possible-to-change-the-natural-order-of-columns-in-postgres" target="_blank">Is it possible to change the natural order of columns in Postgres?</a>.</p>
<p>El procedimiento es simple, aunque no lo recomiendan para usuarios inexpertos o poco cuidadosos. Incluso, debería omitirse esto si no es estrictamente necesario el cambio (las posibilidades de arruinar el sistema son altas). en Eo personal también lo recomiendo solo si es obligatorio.</p>
<div class="post-text">
<p><strong>Como cambiar el orden de las columnas de una tabla en PostgreSQL</strong></p>
<p><strong>0.</strong> Como base, tenemos una tabla de ejemplo</p>
<pre style="padding-left: 30px"><span style="color: #993300"># CREATE TABLE test (a int, b int, c int);
# INSERT INTO test VALUES (1,2,3);
# SELECT * FROM test;</span>
<span style="color: #808080"> a | b | c
---+---+---
 1 | 2 | 3
(1 row)</span></pre>
<p>Queremos que la columna <em>b</em> quede antes que la columna <em>a</em>.</p>
<p><strong>1.</strong> Nos logeamos en la base de datos con el usuario <em>postgres</em> para poder editar las tablas de sistema.</p>
<p><strong>2.</strong> Buscamos el valor <em>attrelid</em> de la tabla que queremos modificar en la tabla <em>pg_class</em>:</p>
<pre style="padding-left: 30px"><span style="color: #993300"># SELECT relname, relfilenode FROM pg_class WHERE relname='test';</span>
<span style="color: #808080"> relname | relfilenode
---------+-------------
 test_t  |       27666
(1 row)</span></pre>
<p>Luego consultamos la tabla <em>pg_attribute</em> para encontrar la tabla, las columnas y la posición de las columnas, con el valor que nos retornó la búsqueda anterior.</p>
<pre style="padding-left: 30px"><span style="color: #993300"># SELECT attrelid, attname, attnum FROM pg_attribute WHERE attrelid=27666;</span>
<span style="color: #808080"> attrelid | attname  | attnum
----------+----------+--------
    27666 | tableoid |     -7
    27666 | cmax     |     -6
    27666 | xmax     |     -5
    27666 | cmin     |     -4
    27666 | xmin     |     -3
    27666 | ctid     |     -1
    27666 | a        |      1
    27666 | b        |      2
    27666 | c        |      3
(9 rows)</span></pre>
<p>Aquí podemos tener un problema y es que puede que el primer comando no nos retorne nada o nos retorne un valor diferente al que buscamos. De no encontrar la tabla con el primer comando, podemos buscar directamente en la tabla <em>pg_attribute</em> por el nombre de nuestra columna, si este no es común a otras tablas y verificando cuidadosamente que la tabla que buscamos es la que nos interesa.</p>
<pre style="padding-left: 30px"><span style="color: #993300"># SELECT attrelid, attname, attnum FROM pg_attribute WHERE attname=a;
</span><span style="color: #808080"> attrelid | attname  | attnum
----------+----------+--------
    27666 | a        |      1
(1 rows)</span></pre>
<p><strong>3.</strong> Modificamos el valor de attnum de las columnas.</p>
<p>Ya que attnum es una columna de valores únicos (en realidad yo creo que se trata de un constraint compuesto), tenemos que usar un valor temporal mientras modificamos el valor.</p>
<pre style="padding-left: 30px"><span style="color: #993300"># UPDATE pg_attribute SET attnum=4 WHERE attname='a' AND attrelid=27666;</span>
<span style="color: #808080">UPDATE 1</span>
<span style="color: #993300"># UPDATE pg_attribute SET attnum=1 WHERE attname='b' AND attrelid=27666;</span>
<span style="color: #808080">UPDATE 1</span>
<span style="color: #993300"># UPDATE pg_attribute SET attnum=2 WHERE attname='a' AND attrelid=27666;</span>
<span style="color: #808080">UPDATE 1</span></pre>
<p>Luego consultamos la tabla para saber que hicimos las cosas bien</p>
<pre style="padding-left: 30px"><span style="color: #993300"># SELECT * FROM test;</span>
<span style="color: #808080"> b | a | c
---+---+---
 1 | 2 | 3
(1 row)</span></pre>
<p>No sobra recordar que estamos modificando las tablas de sistema, entonces debemos ser muy cuidadosos.</p>
<p>Esto funciona muy bien para PostgreSQL 8.3 (lo tuve que utilizar una sola vez). No sé si para otras versiones, sobre todo las anteriores, el truco también funcione.</p>
<p><strong>Nota.-</strong> El contenido de la página original esta bajo una licencia <a href="http://creativecommons.org/licenses/by-sa/2.5/" target="_blank">Creative Commons Atribución, Compartir Igual</a> y este artículo se ofrece bajo la misma licencia.</div>
]]></content:encoded>
			<wfw:commentRss>http://sw.cablop.net/tips/2009/08/29/como-cambiar-el-orden-de-las-columnas-en-postgresql/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>pgAdminIII, PostGIS, PostgreSQL 8.x, SQL, template_postgis</title>
		<link>http://sw.cablop.net/tips/2009/08/29/pgadminiii-postgis-postgresql-8-x-sql-template_postgis/</link>
		<comments>http://sw.cablop.net/tips/2009/08/29/pgadminiii-postgis-postgresql-8-x-sql-template_postgis/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 16:07:42 +0000</pubDate>
		<dc:creator>天龙</dc:creator>
				<category><![CDATA[PostGIS]]></category>
		<category><![CDATA[PostgreSQL 8.3]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[pgAdminIII]]></category>
		<category><![CDATA[PostgreSQL 8.x]]></category>
		<category><![CDATA[template_postgis]]></category>

		<guid isPermaLink="false">http://sw.cablop.net/tips/?p=54</guid>
		<description><![CDATA[Lo intenté, busque en la red, que le añadiera un sleep a la funcion antes del createdb&#8230; no, no lo añadí, ya era ir demasiado lejos&#8230; con el pgAdminIII&#8230; tampoco&#8230;
¿De que habló?
Al ejecutar el comando:
createdb -T template_postgis my_spatial_db
la base de datos no se crea y si usamos pgAdminIII nos devuelve el siguiente error:
database "template_postgis" is [...]]]></description>
			<content:encoded><![CDATA[<p>Lo intenté, busque en la red, que le añadiera un sleep a la funcion antes del createdb&#8230; no, no lo añadí, ya era ir demasiado lejos&#8230; con el pgAdminIII&#8230; tampoco&#8230;</p>
<p>¿De que habló?</p>
<p>Al ejecutar el comando:</p>
<p style="padding-left: 30px"><code><span style="color: #993300">createdb -T template_postgis my_spatial_db</span></code></p>
<p>la base de datos no se crea y si usamos pgAdminIII nos devuelve el siguiente error:</p>
<p style="padding-left: 30px"><code><span style="color: #333333">database "template_postgis" is being accessed by other users</span></code></p>
<p>Después de googlear un rato y de buscar solucionar el comando se me ocurrió hacerlo vía sql y si funcionó.</p>
<p>Este es el comando:</p>
<p style="padding-left: 30px"><code><span style="color: #993300">CREATE DATABASE </span><span style="color: #993300">my_spatial_db</span><span style="color: #993300"> WITH TEMPLATE=template_postgis;</span></code></p>
]]></content:encoded>
			<wfw:commentRss>http://sw.cablop.net/tips/2009/08/29/pgadminiii-postgis-postgresql-8-x-sql-template_postgis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cambiar la contraseña del usuario postgres en Ubuntu con PostgreSQL 8.3</title>
		<link>http://sw.cablop.net/tips/2009/08/29/cambiar-la-contrasena-del-usuario-postgres-en-ubuntu-con-postgresql-8-3/</link>
		<comments>http://sw.cablop.net/tips/2009/08/29/cambiar-la-contrasena-del-usuario-postgres-en-ubuntu-con-postgresql-8-3/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 16:03:24 +0000</pubDate>
		<dc:creator>天龙</dc:creator>
				<category><![CDATA[PostgreSQL 8.3]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[PostgreSQL 8.x]]></category>

		<guid isPermaLink="false">http://sw.cablop.net/tips/?p=52</guid>
		<description><![CDATA[Esta es una situación bastante simple, pero no sobra tenerla aquí a la mano.
Nos conectamos a la base de datos postgres con el usuario postgres:
sudo -u postgres psql postgres
Ya en el shell de PostgreSQL solicitamos establecer la contraseña al usuario postgres:
\password postgres
Asignamos la contraseña que nos parezca apropiada.
Eso es todo.
]]></description>
			<content:encoded><![CDATA[<p>Esta es una situación bastante simple, pero no sobra tenerla aquí a la mano.</p>
<p>Nos conectamos a la base de datos <em>postgres</em> con el usuario <em>postgres</em>:</p>
<p style="padding-left: 30px"><span style="color: #993300">sudo -u postgres psql postgres</span></p>
<p>Ya en el shell de PostgreSQL solicitamos establecer la contraseña al usuario <em>postgres</em>:</p>
<p style="padding-left: 30px"><span style="color: #993300">\password postgres</span></p>
<p>Asignamos la contraseña que nos parezca apropiada.</p>
<p>Eso es todo.</p>
]]></content:encoded>
			<wfw:commentRss>http://sw.cablop.net/tips/2009/08/29/cambiar-la-contrasena-del-usuario-postgres-en-ubuntu-con-postgresql-8-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalar PostGIS en Ubuntu con PostgreSQL 8.3</title>
		<link>http://sw.cablop.net/tips/2009/08/29/instalar-postgis-en-ubuntu-con-postgresql-8-3/</link>
		<comments>http://sw.cablop.net/tips/2009/08/29/instalar-postgis-en-ubuntu-con-postgresql-8-3/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 16:01:11 +0000</pubDate>
		<dc:creator>天龙</dc:creator>
				<category><![CDATA[PostGIS]]></category>
		<category><![CDATA[PostgreSQL 8.3]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[PostgreSQL 8.x]]></category>
		<category><![CDATA[template_postgis]]></category>

		<guid isPermaLink="false">http://sw.cablop.net/tips/?p=49</guid>
		<description><![CDATA[Esta instalación se realizó sobre Ubuntu 9.04 con PostgreSQL 8.3.
Instalación de PostGIS
Una vez instalado el PostgreSQL instalamos el PostGIS.
Nos vamos a sentir tentados a instalar el paquete postgis, pero este es un metapaquete que por alguna razón no nos instala el PostGIS.
El que debemos instalar es postgresql-8.3-postgis.
Por consola el comando es:
sudo apt-get install postgresql-8.3-postgis
Con eso [...]]]></description>
			<content:encoded><![CDATA[<p>Esta instalación se realizó sobre Ubuntu 9.04 con PostgreSQL 8.3.</p>
<p><strong>Instalación de PostGIS</strong></p>
<p>Una vez instalado el PostgreSQL instalamos el PostGIS.</p>
<p>Nos vamos a sentir tentados a instalar el paquete <em>postgis</em>, pero este es un metapaquete que por alguna razón no nos instala el PostGIS.</p>
<p>El que debemos instalar es <em>postgresql-8.3-postgis</em>.</p>
<p>Por consola el comando es:</p>
<p style="padding-left: 30px"><span style="color: #993300">sudo apt-get install postgresql-8.3-postgis</span></p>
<p>Con eso ya tenemos instalado el PostGIS.</p>
<p>Nos hace falta crear ahora el <em>template_postgis</em>.</p>
<p><strong>Creación del <em>template_postgis</em></strong></p>
<p>Nos logeamos en PostgreSQL al <em>template1:</em></p>
<p style="padding-left: 30px"><span style="color: #993300">sudo -u postgres psql template1</span></p>
<p>Creamos una base de datos, <em>template_postgis</em>, a partir de este template:</p>
<p style="padding-left: 30px"><span style="color: #993300">create database template_postgis with template = template1;</span></p>
<p>Actualizamos la tabla <em>pg_database</em> para indicarle que la nueva base de datos es un template:</p>
<p style="padding-left: 30px"><span style="color: #993300">UPDATE pg_database SET datistemplate = TRUE where datname = &#8216;template_postgis&#8217;;</span></p>
<p>Nos conectamos a la nueva base de datos:</p>
<p style="padding-left: 30px"><span style="color: #993300">\c template_postgis</span></p>
<p>Agregamos las extensiones de PostGIS y le damos acceso  a las tablas espaciales a todos:</p>
<p style="padding-left: 30px"><span style="color: #993300">CREATE LANGUAGE plpgsql ;</span></p>
<p style="padding-left: 30px"><span style="color: #993300">\i /usr/share/postgresql-8.3-postgis/lwpostgis.sql;</span></p>
<p style="padding-left: 30px"><span style="color: #993300">\i /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql;</span></p>
<p style="padding-left: 30px"><span style="color: #993300">GRANT ALL ON geometry_columns TO PUBLIC;</span></p>
<p style="padding-left: 30px"><span style="color: #993300">GRANT ALL ON spatial_ref_sys TO PUBLIC;</span></p>
<p>Restringimos futuros cambios en la base de datos:</p>
<p style="padding-left: 30px"><span style="color: #993300">VACUUM FREEZE;</span></p>
<p>Y con eso hemos terminado.</p>
<p><strong>Fuentes:</strong></p>
<p><a href="http://acuriousanimal.orggeo.net/?q=node/20" target="_blank">Final steps installing PostGIS on Ubuntu</a> para la creación del template.</p>
]]></content:encoded>
			<wfw:commentRss>http://sw.cablop.net/tips/2009/08/29/instalar-postgis-en-ubuntu-con-postgresql-8-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mover los datos de PostgreSQL 8.3 en Ubuntu a otro directorio</title>
		<link>http://sw.cablop.net/tips/2009/08/29/mover-los-datos-de-postgresql-8-3-en-ubuntu-a-otro-directorio/</link>
		<comments>http://sw.cablop.net/tips/2009/08/29/mover-los-datos-de-postgresql-8-3-en-ubuntu-a-otro-directorio/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 15:50:32 +0000</pubDate>
		<dc:creator>天龙</dc:creator>
				<category><![CDATA[PostgreSQL 8.3]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[PostgreSQL 8.x]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://sw.cablop.net/tips/?p=42</guid>
		<description><![CDATA[En mi caso yo lo hago por ubicar los archivos de la base de datos en otra partición diferente o incluso una unidad de disco diferente para prevenir que en una eventual pérdida del sistema operativo también se pierdan los datos.
PostgreSQL puede administrar varios clusters de datos al mismo tiempo en el mismo sistema. El [...]]]></description>
			<content:encoded><![CDATA[<p>En mi caso yo lo hago por ubicar los archivos de la base de datos en otra partición diferente o incluso una unidad de disco diferente para prevenir que en una eventual pérdida del sistema operativo también se pierdan los datos.</p>
<p>PostgreSQL puede administrar varios clusters de datos al mismo tiempo en el mismo sistema. El cluster por defecto es llamado main. Ese es el que vamos a reubicar en otro lugar.</p>
<p><strong>Los pasos</strong></p>
<p>1) Detenemos PostgreSQL</p>
<p style="padding-left: 30px"><span style="color: #800000">sudo /etc/init.d/postgresql-8.3 stop</span></p>
<p>2) Creamos el directorio donde vamos a ubicar el cluster</p>
<p style="padding-left: 30px"><span style="color: #800000">sudo mkdir /ruta/a/la/ubicacion/nueva/del/cluster</span></p>
<p>3) Nos ubicamos en la carpeta que contiene a la vieja ubicacion del cluster</p>
<p style="padding-left: 30px"><span style="color: #800000">cd /var/lib/postgresql/8.3</span></p>
<p>4) Copiamos la carpeta del cluster a la nueva ubicación</p>
<p style="padding-left: 30px"><span style="color: #800000">sudo cp -R -p main /ruta/a/la/ubicacion/nueva/del/cluster</span></p>
<p>5) Editamos el archivo <span style="color: #008000">/etc/postgresql/8.3/main/postgresql.conf</span></p>
<p>En modo gráfico</p>
<p style="padding-left: 30px"><span style="color: #800000">sudo -b gedit /etc/postgresql/8.3/main/postgresql.conf</span></p>
<p>Por consola</p>
<p style="padding-left: 30px"><span style="color: #800000">sudo nano /etc/postgresql/8.3/main/postgresql.conf</span></p>
<p>Y cambiamos el valor <em>data_directory</em> por la ruta nueva</p>
<p style="padding-left: 30px"><span style="color: #000080">data_directory = &#8216;/ruta/a/la/ubicacion/nueva/del/cluster/main&#8217;</span></p>
<p>6) Reiniciamos PostgreSQL</p>
<p style="padding-left: 30px"><span style="color: #800000">sudo /etc/init.d/postgresql-8.3 start</span></p>
]]></content:encoded>
			<wfw:commentRss>http://sw.cablop.net/tips/2009/08/29/mover-los-datos-de-postgresql-8-3-en-ubuntu-a-otro-directorio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalar Tomcat 6 en Ubuntu</title>
		<link>http://sw.cablop.net/tips/2009/08/29/instalar-tomcat-6-en-ubuntu/</link>
		<comments>http://sw.cablop.net/tips/2009/08/29/instalar-tomcat-6-en-ubuntu/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 15:48:17 +0000</pubDate>
		<dc:creator>天龙</dc:creator>
				<category><![CDATA[Tomcat 6]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://sw.cablop.net/tips/?p=40</guid>
		<description><![CDATA[La página web mencionada tiene todos los derechos reservados, así que solo me limitaré a referenciar el enlace para que podamos realizar esa instalación en nuestro Ubuntu sin inconvenientes.
Fuente:
Installing Tomcat 6 on Ubuntu
]]></description>
			<content:encoded><![CDATA[<p>La página web mencionada tiene todos los derechos reservados, así que solo me limitaré a referenciar el enlace para que podamos realizar esa instalación en nuestro Ubuntu sin inconvenientes.</p>
<p>Fuente:</p>
<p><a title="Permanent Link: Installing Tomcat 6 on Ubuntu" rel="bookmark" href="http://www.howtogeek.com/howto/linux/installing-tomcat-6-on-ubuntu/">Installing Tomcat 6 on Ubuntu</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sw.cablop.net/tips/2009/08/29/instalar-tomcat-6-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como configurar Subversion (SVN) en Apache 2 sobre Ubuntu</title>
		<link>http://sw.cablop.net/tips/2009/08/29/como-configurar-subversion-svn-en-apache-2-sobre-ubuntu/</link>
		<comments>http://sw.cablop.net/tips/2009/08/29/como-configurar-subversion-svn-en-apache-2-sobre-ubuntu/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 15:42:01 +0000</pubDate>
		<dc:creator>天龙</dc:creator>
				<category><![CDATA[Apache 2]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://sw.cablop.net/tips/?p=34</guid>
		<description><![CDATA[Este post esta basado en este Subversion over Apache 2 on Ubuntu, en inglés.
Subversion o (SVN) es una poderosa herramienta de control de versiones (para desarrollo, diseño e incluso documentos) que puede instalarse sobre el servidor Apache 2 y esto en Ubuntu se logra con unos sencillos pasos.
Primero, el trasfondo.
Asumiremos que se tiene instalado Apache [...]]]></description>
			<content:encoded><![CDATA[<p>Este post esta basado en este <a href="http://davidwinter.me.uk/articles/2006/02/16/subversion-over-apache-2-on-ubuntu/" target="_blank">Subversion over Apache 2 on Ubuntu</a>, en inglés.</p>
<p>Subversion o (SVN) es una poderosa herramienta de control de versiones (para desarrollo, diseño e incluso documentos) que puede instalarse sobre el servidor Apache 2 y esto en Ubuntu se logra con unos sencillos pasos.</p>
<p><strong>Primero, el trasfondo.</strong></p>
<p>Asumiremos que se tiene instalado Apache 2 en el sistema Ubuntu entonces procederemos paso a paso a ir instalando y configurando lo demás.</p>
<p><strong>Instalación de Subversion y mod para Apache</strong></p>
<p>Esto lo logramos con la línea:</p>
<p style="padding-left: 30px"><code><span style="color: #800000">sudo apt-get install subversion libapache2-svn</span></code></p>
<p>El módulo emplea WebDAV para trasmitir los archivos a Subversion, esto nos facilitará mucho las cosas ya que emplearemos el mismo puerto 80 empleado por Apache 2.</p>
<p>Ahora procedemos a habilitar el módulo (aunque esto teóricamente se hace por defecto al instalarlo).</p>
<p style="padding-left: 30px"><code><span style="color: #800000">sudo a2enmod dav_svn</span></code></p>
<p><strong>Creación de un repositotio SVN</strong></p>
<p>Crearemos el repositorio y su estructura.</p>
<p style="padding-left: 30px"><code><span style="color: #800000">sudo mkdir /ruta/local/al/repositorio<br />
sudo svnadmin create /ruta/local/al/repositorio</span></code></p>
<p>Haremos que Apache 2 sea el propietario (owner) del repositorio recién creado</p>
<p style="padding-left: 30px"><code><span style="color: #800000">sudo chown -R www-data /home/svn</span></code></p>
<p>Y crearemos un archivo de contraseñas que emplearemos para restringir el acceso al repositorio</p>
<p style="padding-left: 30px"><code><span style="color: #800000">sudo htpasswd -cm /ruta/al/archivo_de_contraseñas.passwd nombre_del_usuario</span></code></p>
<p>La consola preguntará por la contraseña que desearemos asignar al usuario.</p>
<p>Si ya disponemos de un archivo existente y solo queremos agregar un nuevo usuario entonces el comando que necesitaremos es:</p>
<p style="padding-left: 30px"><code><span style="color: #800000">sudo htpasswd -m /ruta/al/archivo_de_contraseñas.passwd nombre_del_nuevo_usuario</span></code></p>
<p>Ahora, editaremos el archivo <span style="color: #008000">/etc/apache2/mods-enabled/dav_svn.conf</span></p>
<p>En la consola lo consegumos mediante</p>
<p style="padding-left: 30px"><code><span style="color: #800000">sudo nano /etc/apache2/mods-enabled/dav_svn.conf</span></code></p>
<p>Y en el entorno gráfico mediante:</p>
<p style="padding-left: 30px"><code><span style="color: #800000">sudo -b gedit /etc/apache2/mods-enabled/dav_svn.conf</span></code></p>
<p>Tendremos que añadir las siguientes líneas al archivo por cada repositorio que deseemos instalar:</p>
<p style="padding-left: 30px"><code><span style="color: #000080">&lt;Location /ruta/en/url/al/repositorio&gt;<br />
    DAV svn<br />
    SVNPath /ruta/local/al/repositorio<br />
&nbsp;<br />
    AuthType Basic<br />
    AuthName "Subversion Repository"<br />
    AuthUserFile /ruta/al/archivo_de_contraseñas.passwd<br />
    Require valid-user<br />
&lt;/Location&gt;</span></code></p>
<p>Naturalmente debemos remplazar /ruta/en/url/al/repositorio, /ruta/local/al/repositorio y /ruta/al/archivo_de_contraseñas.passwd por las ubicaciones y archivos reales que vamos a emplear.</p>
<p>Y por último debemos reiniciar el servidor Apache 2</p>
<p style="padding-left: 30px"><code><span style="color: #800000">sudo /etc/init.d/apache2 restart</span></code><code></p>
<p><strong>Hemos terminado</strong></p>
<p>Podemos comprobar que el repositorio está funcionando en nuestro navegador web:</p>
<p>http://nuestro.servidor/ruta/en/url/al/repositorio</p>
<p>Y el navegador nos preguntará por nuestras credenciales de acceso (el nombre que dimos anteriormente y la contraseña que le asignamos).</code></p>
]]></content:encoded>
			<wfw:commentRss>http://sw.cablop.net/tips/2009/08/29/como-configurar-subversion-svn-en-apache-2-sobre-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
