Re: [HACKERS] Re: Let's talk up 6.3
Vadim B. Mikheev <vadim@sable.krasnoyarsk.su>
From: "Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su>
To: raines@SLAC.Stanford.EDU
Cc: Bruce Momjian <maillist@candle.pha.pa.us>, hackers@postgreSQL.org
Date: 1998-04-02T01:16:58Z
Lists: pgsql-hackers
Paul Raines wrote: > > Okay, I destroyed the database and recreated it. I then created > the following tables and indices; > ... > > I then filled the tables from my Perl DBI script copying Oracle > data to Postgres (same as before). This time, it worked without > failing do the index FATAL. > > I immediatetly tried my subselect. > > bbrmdc=> select distinct runtype from mdc1_runs where > bbrmdc-> runnum in (select runnum from mdc1_simu where version = '3.1.0'); > > After a couple of minutes, I killed the postgres process. I quit my > psql and then reconnectd. I tried a simple select and it hung too. > Killed it and reconnected. I dropped the three indices and tried a > vacuum. It also hung forever. I killed the postgres process, > restarted the postmaster, deleted the pg_vlock file, and retried the > vacuum. It worked. A simple select then works too. First, I assume that you didn't run vacuum after filling tables and so indices were not used: to get index scans you have to either create indices _after_ (not before) filling tables or vacuum tables _after_ filling. Second, after killing server process it's better to restart postmaster! Killing is abnormal thing - some locks/spinlocks were not released and so your next connection hung. > > I recreated the indices exactly as above, and selects still > work. The subselect also worked too and took about 12 seconds. What's Oracle time ? Vadim