用户工具

站点工具


linux:postgresql

这是本文档旧的修订版!


PostgreSQL

PostgreSQL是自由的对象-关系型数据库服务器(数据库管理系统),在灵活的BSD-风格许可证下发行。

Install

Install PostgreSQL 9.4

可查看官网教程添加源安装。

下面以Ubuntu14.04 Trusty为例,安装PostgreSQL 9.4(Ubuntu仓库内的PostgreSQL是9.3的)

添加源:

echo "deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main" > /etc/apt/sources.list.d/pgdg.list

导入密钥:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql-9.4

Upgrade PostgreSQL from 9.3 to 9.4

由于Ubuntu 14.04官方源内的PostgreSQL是9.3的,如果已经有数据,升级到9.4时要做以下步骤:

Thanks: Upgrading PostgreSQL from 9.3 to 9.4 when upgrading Ubuntu 14.04 to 14.10

要求:同时安装9.3和9.4的PostgreSQL

0. 先备份数据

$ pg_dumpall > backup.sql

1. 运行pg_lsclusters,保证9.3和9.4都启动了。

$ pg_lsclusters 
Ver Cluster Port Status Owner    Data directory               Log file
9.3 main    5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
9.4 main    5433 online postgres /var/lib/postgresql/9.4/main /var/log/postgresql/postgresql-9.4-main.log

2. 暂停9.4

sudo pg_dropcluster 9.4 main --stop

3. 迁移9.3数据到最新版本

sudo pg_upgradecluster 9.3 main

4. 此时9.3数据库应该停止stop

$ pg_lsclusters
Ver Cluster Port Status Owner    Data directory               Log file
9.3 main    5433 down   postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
9.4 main    5432 online postgres /var/lib/postgresql/9.4/main /var/log/postgresql/postgresql-9.4-main.log

5. 移除9.3

sudo pg_dropcluster 9.3 main
sudo aptitude remove postgresql-9.3 postgresql-client-9.3

性能优化

复用连接可提高数据库的性能,详见PgBouncer

linux/postgresql.1455971697.txt.gz · 最后更改: 2023/12/03 10:24 (外部编辑)