From: | John Koller <johnckoller(at)yahoo(dot)com> |
---|---|
To: | pgsql-admin(at)postgresql(dot)org(dot)pgsql-general(at)postgresql(dot)org |
Subject: | Re: Question about Postgres |
Date: | 2007-07-27 02:02:58 |
Message-ID: | sa0on4-s4i.ln1@mirror.cluebuilder.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin pgsql-general |
NetComrade wrote:
> I apologize for cross-posting, but I need some help w/o too many
> advices RTFM :). After Oracle and MySQL, this becomes the third
> product that I need to learn to some degree, and I need a few links
> which would provide a 'quick tutorial' especially for folks with
> Oracle background like myself. Last time I had to deal with MySql it
> took me a few days just to figure out how to login, and then how to
> poke around, and then a few more to finally start writing some useful
> code in whatever language they use that's similar to PL/SQL.
>
> We are running a mail server, which for whatever stupid reason uses a
> database (stupid, b/c it only uses it for web access, mail is actually
> on the file system)
>
> I'd like to know a couple of things
> a) how do I access this thing as a DBA to poke around
The command line client is psql. Since psql defaults to port 5432 and you do
appear to have two clusters running use psql -p 5733 to access the other
cluster.
> b) how do I poke around
psql -l from the command line to list databases:
john(at)mirror:~$ psql -l
List of databases
Name | Owner | Encoding
-----------+----------+-----------
amarok | john | UTF8
john | john | UTF8
postgres | postgres | SQL_ASCII
template0 | postgres | SQL_ASCII
template1 | postgres | SQL_ASCII
(5 rows)
\? for help
\dS to list system tables
\dt to list tables
\d table_name to describe a table
amarok=> \d pg_tables
View "pg_catalog.pg_tables"
Column | Type | Modifiers
-------------+---------+-----------
schemaname | name |
tablename | name |
tableowner | name |
tablespace | name |
hasindexes | boolean |
hasrules | boolean |
hastriggers | boolean |
View definition:
SELECT n.nspname AS schemaname, c.relname AS tablename,
pg_get_userbyid(c.relowner) AS tableowner, t.spcname AS "tablespace",
c.relhasindex AS hasindexes, c.relhasrules AS hasrules, c.reltriggers > 0
AS hastriggers
FROM pg_class c
LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
LEFT JOIN pg_tablespace t ON t.oid = c.reltablespace
WHERE c.relkind = 'r'::"char";
> c) do I need to make any modifications to config file
> d) what is the most common 'default' values that need to be changed
> what's the best way to see what a performance bottleneck is (i
> e) why this doesn't work:
> [root(at)mt-adm httpd]# vacuumdb -a -f -z -q -h 10.0.1.93 -p5733
> vacuumdb: could not connect to database template1: FATAL: no
> pg_hba.conf entry for host "10.0.1.93", user "root", database
> "template1", SSL off
pg_hba.conf controls who can connect to which database.
If the two lines below are your pg_hba.conf file then only the scalix user
can connect to the scalix database from 10.0.1.201 using a password. Nobody
else can use tcp/ip connections.
Try vacuumdb -avz as the postgres user and
vacuumdb -avz -p5733 as whatever user the other cluster is running as
> Some 'details' on the server: (ps -ef)
> 00:00:04 /usr/bin/postmaster -i -h mt-adm.mentora.biz -p 5733 -D
> /var/opt/scalix/mm/postgres/data -k /var/opt/scalix/mm/postgres/data
> 00:00:00 postgres: stats buffer process
> 00:00:00 postgres: stats collector process
> 00:00:00 /usr/bin/postmaster -p 5432 -D /var/lib/pgsql/data
> 00:00:00 postgres: stats buffer process
> 00:00:00 postgres: stats collector process
>
> The above is confusing.. do I have 2 instances (or databases) running
> on different ports? Should I shutdown the default one? (Scalix is the
> product that uses the db)
That does look like 2 clusters running. Use -p on the command line or set
PGPORT to get to the one on 5733. Try listing the databases for each
cluster with psql -l. If the /var/lib/pgsql/data cluster does not have any
databases you may not need it.
> Should I be 'playing' with
> /var/opt/scalix/mm/postgres/data/postgresql.conf ?
Yes, each cluster will have its own set of config files.
> [root(at)mt-adm httpd]# du -skh /var/opt/scalix/mm/postgres/data
> 276M /var/opt/scalix/mm/postgres/data
>
> # "database" is rather small
If all of your attempts to vacuum are failing then some of that will be
bloat.
> # there are no more than 20-30 users on the server at any given time
> # the disks are fast (50megs/sec, RAID10, SCSI)
> # memory is big 8g
> # cpu count is 2 with hyperthreading (it's a dell 2650)
>
> [root(at)mt-adm data]# rpm -qa|grep post
> postgresql-libs-7.4.17-1.RHEL4.1
> postgresql-server-7.4.17-1.RHEL4.1
> postgresql-7.4.17-1.RHEL4.1
> scalix-postgres-11.0.4.25-1
>
> Files that seem important:
> /var/opt/scalix/mm/postgres/data
>
>
> [root(at)mt-adm data]# cat pg_hba.conf|grep -v \#
> host scalix scalix 10.0.1.201/32 md5
> local all all ident sameuser
Is this from /var/opt/scalix/mm/postgres/data/pg_hba.conf or
/var/lib/pgsql/data/pg_hba.conf
> postgresql.conf (comments taken out)
> max_connections = 100
> shared_buffers = 1000
> # bunch of locale params en_US.UTF-8'
>
> http://www.scalix.com/forums/viewtopic.php?t=7809&highlight=sharedbuffers
>
> There are some suggestions here, but they seem rather high (I did look
> at some of them ,and the majorify make sense tweaking, I don't think I
> fully understood the vacuum paramter)
http://www.postgresql.org/docs/7.4/interactive/tutorial.html
From | Date | Subject | |
---|---|---|---|
Next Message | adey | 2007-07-27 02:41:12 | Re: No create table |
Previous Message | NetComrade | 2007-07-26 17:51:31 | Question about Postgres |
From | Date | Subject | |
---|---|---|---|
Next Message | Luca Ferrari | 2007-07-27 07:20:57 | Re: a few questions (and doubts) about xid |
Previous Message | Stuart | 2007-07-27 00:57:27 | generating part of composite key |