linux:postgresql
差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
linux:postgresql [2016/02/20 20:34] – ↷ 页面postgresql被移动至linux:postgresql memory | linux:postgresql [2023/12/03 10:24] (当前版本) – 外部编辑 127.0.0.1 | ||
---|---|---|---|
行 3: | 行 3: | ||
PostgreSQL是自由的对象-关系型数据库服务器(数据库管理系统),在灵活的BSD-风格许可证下发行。 | PostgreSQL是自由的对象-关系型数据库服务器(数据库管理系统),在灵活的BSD-风格许可证下发行。 | ||
- | ===== Install ===== | + | ===== Install |
- | ==== Install PostgreSQL | + | ==== Install PostgreSQL |
- | 可查看[[http:// | + | 可查看[[http:// |
- | 下面以'' | + | 下面以'' |
添加源: | 添加源: | ||
< | < | ||
- | echo "deb http:// | + | echo "deb http:// |
</ | </ | ||
行 22: | 行 22: | ||
wget --quiet -O - https:// | wget --quiet -O - https:// | ||
sudo apt-get update | sudo apt-get update | ||
- | sudo apt-get install postgresql-9.4 | + | sudo apt-get install postgresql-12 |
</ | </ | ||
- | ==== Upgrade PostgreSQL from 9.3 to 9.4 ==== | + | 添加新用户: |
- | 由于Ubuntu 14.04官方源内的PostgreSQL是9.3的,如果已经有数据,升级到9.4时要做以下步骤: | + | < |
+ | sudo -i -u postgres | ||
+ | createuser --interactive | ||
+ | </ | ||
+ | |||
+ | ==== Upgrade PostgreSQL from 9.6 to 10 ==== | ||
+ | |||
+ | 由于 | ||
- | Thanks: [[https:// | + | Thanks: [[https:// |
- | 要求:同时安装9.3和9.4的PostgreSQL | + | 要求:同时安装9.6和10的PostgreSQL |
0. 先**备份数据** | 0. 先**备份数据** | ||
行 39: | 行 46: | ||
</ | </ | ||
- | 1. 运行'' | + | 1. 运行'' |
< | < | ||
$ pg_lsclusters | $ pg_lsclusters | ||
Ver Cluster Port Status Owner Data directory | Ver Cluster Port Status Owner Data directory | ||
- | 9.3 main 5432 online postgres / | + | 9.6 main 5432 online postgres / |
- | 9.4 main 5433 online postgres / | + | 10 main 5433 online postgres / |
</ | </ | ||
- | 2. 暂停9.4 | + | 2. 暂停10 |
< | < | ||
- | sudo pg_dropcluster | + | sudo pg_dropcluster |
</ | </ | ||
- | 3. 迁移9.3数据到最新版本 | + | 3. 迁移9.6数据到最新版本 |
< | < | ||
- | sudo pg_upgradecluster 9.3 main | + | sudo pg_upgradecluster 9.6 main |
</ | </ | ||
- | 4. 此时9.3数据库应该停止'' | + | 4. 此时9.6数据库应该停止'' |
< | < | ||
$ pg_lsclusters | $ pg_lsclusters | ||
Ver Cluster Port Status Owner Data directory | Ver Cluster Port Status Owner Data directory | ||
- | 9.3 main 5433 down | + | 9.6 main 5433 down |
- | 9.4 main 5432 online postgres / | + | 10 main 5432 online postgres / |
</ | </ | ||
- | 5. 移除9.3 | + | 5. 移除9.6 |
< | < | ||
- | sudo pg_dropcluster 9.3 main | + | sudo pg_dropcluster 9.6 main |
- | sudo aptitude remove postgresql-9.3 postgresql-client-9.3 | + | sudo aptitude remove postgresql-9.6 postgresql-client-9.6 |
+ | </ | ||
+ | |||
+ | ===== Install on Centos ===== | ||
+ | |||
+ | Visit [[https:// | ||
+ | |||
+ | wget https:// | ||
+ | yum install postgresql10 postgresql10-devel postgresql10-libs postgresql10-server | ||
+ | |||
+ | ===== Usage ===== | ||
+ | |||
+ | Change '' | ||
+ | |||
+ | <code bash> | ||
+ | sudo -u postgres psql | ||
+ | |||
+ | # psql shell | ||
+ | \password < | ||
+ | </ | ||
+ | |||
+ | Set '' | ||
+ | |||
+ | <code bash> | ||
+ | sudo -u postgres psql -c "ALTER USER < | ||
+ | </ | ||
+ | |||
+ | ===== Maintain ===== | ||
+ | |||
+ | Show size of every PostgreSQL database.[(https:// | ||
+ | |||
+ | First, connect to '' | ||
+ | |||
+ | <code bash> | ||
+ | psql postgres | ||
+ | </ | ||
+ | |||
+ | Then run SQL: | ||
+ | |||
+ | <code sql> | ||
+ | SELECT pg_database.datname, | ||
+ | pg_database_size(pg_database.datname), | ||
+ | pg_size_pretty(pg_database_size(pg_database.datname)) | ||
+ | FROM pg_database ORDER by 2 DESC; | ||
</ | </ | ||
行 79: | 行 129: | ||
复用连接可提高数据库的性能,详见[[pgbouncer|PgBouncer]] | 复用连接可提高数据库的性能,详见[[pgbouncer|PgBouncer]] | ||
+ | |||
+ | ==== 优化配置 ==== | ||
+ | |||
+ | 1. 使用 [[https:// | ||
+ | |||
+ | 2. 开启慢查询日志 | ||
+ | |||
+ | <code ini / | ||
+ | logging_collector = on | ||
+ | log_statement = ' | ||
+ | log_filename = ' | ||
+ | log_min_duration_statement = 300 | ||
+ | </ | ||
+ | |||
+ | ===== Awesome List ===== | ||
+ | |||
+ | * [[https:// |
linux/postgresql.1455971697.txt.gz · 最后更改: 2023/12/03 10:24 (外部编辑)