SyMfonAK - vyvíjame databázy pomocou frameworku Symfony

Symfony PostgreSQL: Rozdiel medzi revíziami

Z SyMfonAK
Prejsť na: navigácia, hľadanie
(Import/export GIS súborov (shapefile, GML..))
 
(2 medziľahlé úpravy od rovnakého používateľa nie sú zobrazené.)
Riadok 8: Riadok 8:
 
<code>/usr/lib/postgresql/8.4/bin/pg_dump -p 5433  --table="lkpzoochar" -a --column-inserts aves >/tmp/lkpzoochar2.sql</code>
 
<code>/usr/lib/postgresql/8.4/bin/pg_dump -p 5433  --table="lkpzoochar" -a --column-inserts aves >/tmp/lkpzoochar2.sql</code>
  
 +
a načítanie v inej postgresql databáze pommocou psql:
 +
<code>/usr/lib/postgresql/8.4/bin/psql -d aves -a -f /tmp/gis_stvorce2500.sql</code>
  
 
Export aj s podmienkou:
 
Export aj s podmienkou:

Aktuálna revízia z 09:45, 9. február 2020

Keď nepoznám názvy tabuliek:

SELECT table_name FROM information_schema.tables WHERE table_schema='public'


Export len dát -a a insert a nie copy, potom treba zmazať niektoré riadky pre import v symfony (php bin/console doctrine:database:import

/usr/lib/postgresql/8.4/bin/pg_dump -p 5433 --table="lkpzoochar" -a --column-inserts aves >/tmp/lkpzoochar2.sql

a načítanie v inej postgresql databáze pommocou psql: /usr/lib/postgresql/8.4/bin/psql -d aves -a -f /tmp/gis_stvorce2500.sql

Export aj s podmienkou:

/usr/lib/postgresql/8.4/bin/psql -p 5433 -d aves -c 'copy (select z.* from lkpzoospecies z left join lkpzoospecies_lkpaction a on z.id = a.lkpzoospecies_id where z.lkpzoogrp_id = 104 and (a.lkpaction_id !=22 or a.lkpaction_id !=1)) to stdout'  > /tmp/lkpzoospecies1.csv


Vyberie len jedinečné záznamy, hoci spojená tabuľku (tbl v úlohe spojováka lkpzoospecies_lkpaction) má viackrát akciu pre jednotlivé druhy a normálne by bol výstup toľko riadkov, koľko je jednotlých vyhovujúcich druhov v spojováku a má nejakú akciu.. vid distinct on (z.id) a tiez časť príkazu having


select distinct on (z.id) z.id, z.lkpzoospecies_lat, z.lkpzoospecies_sk, z.lkpzoospecies_dynamic_id, z.lkpzoospecies_subspecorder from lkpzoospecies z left join lkpzoospecies_lkpaction a on z.id = a.lkpzoospecies_id where z.lkpzoogrp_id = 104 group by z.id, z.lkpzoospecies_lat, z.lkpzoospecies_sk, z.lkpzoospecies_dynamic_id, a.lkpaction_id, z.lkpzoospecies_subspecorder having a.lkpaction_id is null or (a.lkpaction_id !=22 and a.lkpaction_id !=1) order by z.id;

Import/export GIS súborov (shapefile, GML..)

Import z GML súboru (stvorce2500_svkb10km do tabuľky gis_stvorce2500 tak, že EPSG gml z 900913 nastaví v tabuľke v geom položke na EPSG:4326

 ogr2ogr -f PostgreSQL PG:'dbname=aves user=aves host=localhost password= port=5433' -s_srs "EPSG:900913" -t_srs "EPSG:4326" /tmp/stvorce2500_svkb10km.gml -nln gis_stvorce2500

alebo

ogr2ogr -f PostgreSQL PG:'dbname=aves user=aves host=localhost password= port=5433' -s_srs "EPSG:900913" -t_srs "EPSG:4326" /tmp/df_sk_cs.gml -nln gis_dfscssk

Zastaviť príliš dlho bežiaci proces

V prostredí pgsql vypísať procesy príkazom:

select * from pg_stat_activity;

Zapamatať si procpid číslo dlho bežiaceho procesu a zastaviť ho týmto príkazom, povedzme procpid je 14990:

select pg_terminate_backend(14990);