Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: lug-bg: POSTGRES "truncate all"


  • Subject: Re: lug-bg: POSTGRES "truncate all"
  • From: Georgi Chorbadzhiyski <gf@xxxxxxxxxxx>
  • Date: Mon, 13 Jun 2005 00:25:09 +0300
  • Delivered-to: lug-bg-list@xxxxxxxxxxxxxxxxxx
  • Delivered-to: lug-bg@xxxxxxxxxxxxxxxxxx
  • Organization: Unix Solutions (http://unixsol.org)

Daniel Ivanov wrote:
> Изникна един въпрос. След като инкрементиран ъпдейт не е решение за една 
> база, защото старите данни са модифицирани до неузнаваемост ми се иска 
> да знам дали има лесен начин за TRUNCATE на всяка таблица в дадена схема.

Има.

#!/bin/sh

PGHOST="db"
PGDATABASE="test"
PGUSER="user"
PGPASSWORD="pass"

export PGHOST PGDATABASE PGUSER PGPASSWORD

PATH="/usr/bin:/usr/local/bin:/usr/local/pgsql/bin"
PSQL=`which psql`

tables=`$PSQL -t $PGDATABASE -c "SELECT DISTINCT
    c.oid::pg_catalog.regclass
FROM
    pg_catalog.pg_index x
    JOIN pg_catalog.pg_class c ON c.oid = x.indrelid
    JOIN pg_catalog.pg_namespace n ON c.relnamespace = n.oid
WHERE nspname NOT LIKE 'pg\\\\_%'"`

IFS='
'

for table in $tables; do
   $PSQL $PGDATABASE -c "TRUNCATE $table"
done

-- 
Georgi Chorbadzhiyski
http://georgi.unixsol.org/



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.