SpaceWalk安装(一) postgresql 安装

Setup of the PostgreSQL database

You should have PostgreSQL server running somewhere. Let's assume you will run the server on the same machine as Spacewalk itself:

yum install -y 'postgresql-server > 8.4'
# we do this to get postgresql84-server on RHEL 5
chkconfig postgresql on
# on Fedora 16 run:
postgresql-setup initdb
# everywhere else run:
service postgresql initdb

service postgresql start

Create database, user, and plpgsql language there:

su - postgres -c 'PGPASSWORD=spacepw; createdb spaceschema ; createlang plpgsql spaceschema ; yes $PGPASSWORD | createuser -P -sDR spaceuser'

Configure the user to use md5 password to connect to that database. Put the lines like following to/var/lib/pgsql/data/pg_hba.conf. Avoid the common pitfall: Make sure you put them *before* those existing lines that are for all..

local spaceschema spaceuser md5
host  spaceschema spaceuser 127.0.0.1/8 md5
host  spaceschema spaceuser ::1/128 md5
local spaceschema postgres  ident

Then reload PostgreSQL:

service postgresql reload

and test the connection:

PGPASSWORD=spacepw psql -a -U spaceuser spaceschema
PGPASSWORD=spacepw psql -h localhost -a -U spaceuser spaceschema

Please note that you will want the TCP connection allowed as well because the JDBC driver cannot use the Unix domain socket. So even if the Python and Perl stack will use the Unix domain socket if you do not specify the hostname, JDBC will still go to localhost via TCP.

If you want to have the database on a separate box you will likely need to change this line in pg_hba.conf from 127.0.0.1/8 to something else:

host  spaceschema spaceuser 127.0.0.1/8 md5

and also to add line to /var/lib/pgsql/data/postgresql.conf

listen_addresses = '*'

The contrib package

If your PostgreSQL server is installed on different machine than where you setup your Spacewalk server, please make sure the postgresql-contrib >= 8.4 (or postgresql84-contrib on RHEL 5) is installed on the PostgreSQL server.

Note If Using Postgresql 9.0 or Higher

Depending on what version of the JDBC drivers you have available you may hit this issue: http://stackoverflow.com/questions/4868762/hibernate-3-3-2ga-improperly-loads-bytea-data-from-postgresql-9-0-and-all-type-m

This would have the effect of displaying a hex number instead of the contents of a config file that you have uploaded. If you hit this issue the easiest workaround is to add this line to postgresql.conf:

bytea_output = 'escape'

Tune up PostgreSQL

Tune up PostgreSQL's performance by running pgtune:

yum install pgtune
pgtune --type=web -c 600 -i /var/lib/pgsql/data/postgresql.conf >/tmp/pgtune.conf
# Review the changes by
diff -u /var/lib/pgsql/data/postgresql.conf /tmp/pgtune.conf
cp /var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/postgresql.conf.bak
cp /tmp/pgtune.conf /var/lib/pgsql/data/postgresql.conf
service postgresql restart

or at least increase maximal number of connections to 600:

echo max_connections = 600 >>/var/lib/pgsql/data/postgresql.conf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值