Postgres
下载Postgres源码
tar xfj *.bz2 # tar -zxvf *.gz
# useradd -m postgres; passwd postgres;
sudo mkdir -p /opt/pgsql
sudo chown -R $USER /opt/pgsql
# yum install readline-devel
./configure --prefix=/opt/pgsql && make -j 8 && make install
添加环境变量文件/opt/pgsql/env
export PGHOME=/opt/db/pgsql
export PGDATA=$PGHOME/data
export PGHOST=$PGDATA
export LD_LIBRARY_PATH=$PGHOME/lib
export PATH=$PGHOME/bin:$PATH
alias p0="pg_ctl stop"
alias p1="pg_ctl -l $PGDATA/log start"
alias pl="psql -l"
alias showpg="tail -20 $PGDATA/log"
多数据库切换shell函数
function switchdb() {
if [ -z "$1" ]; then
echo "用法: switchdb [ivorysql|pg|highgo]"
echo "例如: switchdb pg"
return 1
fi
case "$1" in
ivorysql)
source /opt/db/ivorysql/env
echo "✅ 已切换到 IvorySQL 环境。"
;;
pg)
source /opt/db/pgsql/env
echo "✅ 已切换到 PostgreSQL 环境。"
;;
highgo)
source /opt/db/highgosql/env
echo "✅ 已切换到 HighGo 环境。"
;;
*)
echo "❌ 错误: 无效的参数 '$1'"
echo "用法: switchdb [ivorysql|pg|highgo]"
return 1
;;
esac
}
启动数据库
initdb -D $PGDATA # initdb
pg_ctl -D $PGDATA -l $PGDATA/log start # p1
psql -p 5432
修改pg_hba.conf配置
#最后一行添加,允许远程密码连接,若不需要密码最后一个参数改为trust
host all all 0.0.0.0/0 md5
# 若端口号有冲突使用netstat -anp | grep 5432
# pg_ctl reload重新读取pg_hba.conf文件
修改配置文件
edit $PGDATA/postgresql.conf
... set listen_addresses = '' ...
... set max_connections = 10 ...
... set max_wal_senders = 4 ...
... set unix_socket_directories = 'name of PGDATA directory' ...
p0 p1 # 重启数据库
创建、迁移数据库用户
postgres=# create user your_name with password 'password';
CREATE ROLE
-- ALTER your_name name with password 'newpassword';
-- ALTER TABLE your_table_name OWNER TO new_username;
HighgoDB
启动数据库
initdb -D $PGDATA
hg_sslkeygen.sh -D $PGDATA
pg_ctl -D $PGDATA -l ~/logs/hg_0611 restart
psql -U sysdba -d highgo
IvorySQL
Github Release下载安装包
yum install bison flex;
El Psy Kongroo