Best practice in postgres

Started by Nilesh Doshiover 21 years ago5 messagesgeneral
Jump to latest
#1Nilesh Doshi
nileshd@hotmail.com

Hi All,

I'm new to postgres, so I need your help.

We are in the process of migrating from oracle to postgres. DB size is about
400gb.
My question is about schemas in oracle and postgres. Does every schema in
oracle becomes a separate database in postgres ? OR it is still like oracle,
where all schemas are part of big database ?

Also, I thought vacuuming will be easier if oracle schema becomes database
in postgres. For example in our case each schema is like 80-90 gb, smaller
compare to vacuuming on 400gb.

Thanks,

#2Guy Rouillier
guyr@masergy.com
In reply to: Nilesh Doshi (#1)
Re: Best practice in postgres

Nilesh Doshi wrote:

My question is about schemas in oracle and postgres. Does every
schema in oracle becomes a separate database in postgres ? OR it is
still like oracle, where all schemas are part of big database ?

You can have multiple schemas in a single PostgreSQL database. Unlike
Oracle, in PostgreSQL when you add a user that does not automatically
generate a schema - that is a separate operation. See CREATE SCHEMA.

Also, I thought vacuuming will be easier if oracle schema becomes
database in postgres. For example in our case each schema is like
80-90 gb, smaller compare to vacuuming on 400gb.

I'm very new to PostgreSQL myself, so this is definitely not expert
advice. But the load imposed by vacuum is directly related to update
activity. So if your database is fairly static, you probably won't see
much benefit to splitting out schemas into separate DBs. Also, 8.0 has
an auto-vacuum daemon that is supposed to lighten the load incurred by
vacuum by checking frequently in the background.

--
Guy Rouillier

#3Robert Treat
xzilla@users.sourceforge.net
In reply to: Nilesh Doshi (#1)
Re: Best practice in postgres

On Fri, 2004-12-10 at 17:49, Nilesh Doshi wrote:

Hi All,

I'm new to postgres, so I need your help.

We are in the process of migrating from oracle to postgres. DB size is about
400gb.
My question is about schemas in oracle and postgres. Does every schema in
oracle becomes a separate database in postgres ? OR it is still like oracle,
where all schemas are part of big database ?

I'm pretty sure you want schema -> schema and not schema -> database,
mainly because the semantics for querying across databases are much more
cumbersome than querying across schemas. If you are not doing any cross
schema work, then it probably doesn't matter as much.

Robert Treat
--
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL

#4Richard D Levine
Richard_D_Levine@raytheon.com
In reply to: Robert Treat (#3)
Re: Best practice in postgres

Oracle and PostgreSQL schemas seem to have fairly equivalent functionality
from what I've read, except that PostgreSQL schemas aren't as tied to a
particular user as are Oracle's.

Robert Treat
<xzilla@users.sourcefor To: Nilesh Doshi <nileshd@hotmail.com>
ge.net> cc: "pgsql-general@postgresql.org"
Sent by: <pgsql-general@postgresql.org>
pgsql-general-owner@pos Subject: Re: [GENERAL] Best practice in postgres
tgresql.org

12/14/2004 09:29 AM

On Fri, 2004-12-10 at 17:49, Nilesh Doshi wrote:

Hi All,

I'm new to postgres, so I need your help.

We are in the process of migrating from oracle to postgres. DB size is

about

400gb.
My question is about schemas in oracle and postgres. Does every schema in

oracle becomes a separate database in postgres ? OR it is still like

oracle,

where all schemas are part of big database ?

I'm pretty sure you want schema -> schema and not schema -> database,
mainly because the semantics for querying across databases are much more
cumbersome than querying across schemas. If you are not doing any cross
schema work, then it probably doesn't matter as much.

Robert Treat
--
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

#5Jim Nasby
Jim.Nasby@BlueTreble.com
In reply to: Guy Rouillier (#2)
Re: Best practice in postgres

On Sat, Dec 11, 2004 at 10:40:42PM -0600, Guy Rouillier wrote:

Nilesh Doshi wrote:

Also, I thought vacuuming will be easier if oracle schema becomes
database in postgres. For example in our case each schema is like
80-90 gb, smaller compare to vacuuming on 400gb.

I'm very new to PostgreSQL myself, so this is definitely not expert
advice. But the load imposed by vacuum is directly related to update
activity. So if your database is fairly static, you probably won't see
much benefit to splitting out schemas into separate DBs. Also, 8.0 has
an auto-vacuum daemon that is supposed to lighten the load incurred by
vacuum by checking frequently in the background.

FWIW, autovacuum has been around since 7.3. When it does a vacuum it's
no different than running the vacuum command by hand; what is different
is that it watches table activity and after a certain number of
insert/update/deletes it starts a vacuum (or analyze) automatically.
What is new in 8.0 is the ability to tell vacuum to sleep a period of
time between each tuple, so that you don't bog-down the server when
vacuum is running.
--
Jim C. Nasby, Database Consultant decibel@decibel.org
Give your computer some brain candy! www.distributed.net Team #1828

Windows: "Where do you want to go today?"
Linux: "Where do you want to go tomorrow?"
FreeBSD: "Are you guys coming, or what?"