PostgreSQL cluster

  • 时间:
  • 浏览:0

修改参数已经 ,系统中看完的程序均没办法 前缀,目前系统中只运行了一另另一4个PostgreSQL数据库实例:

postgres  5722     1  0 18:44 pts/0    00:00:00 /usr/pgsql-9.5/bin/postgres -D /pgdata2

输入 "help" 来获取帮助信息.

分别登录一另另一4个实例,验证一下可用性:

pg_commit_ts  pg_logical     pg_serial     pg_subtrans   pg_xlog

postgres  5394  5393  0 18:25 ?        00:00:00 postgres: eric: logger process                        

[root@dbserver pg_log]# service postgresql-9.5 restart

挑选动态共享内存实现 ......posix

   名称    |  拥有者  | 字元编码 |  校对规则   |    Ctype    |       存取权限        

拷贝 template1 到 template0 ... 成功

postgres  5726  5722  0 18:44 ?        00:00:00 postgres: writer process               

initdb: 无法为本地化语言环境"zh_CN.UTF-8"找到至少的文本搜索配置

  在或多或少场景下,可不不还都可不可不后能 不还都可不可不后能 在一台服务器上运行多个数据库实例,可不不还都可不可不后能 通过cluster_name参数设置程序的标示,本来语句在系统中查看完个运行的PG实例的已经 ,可不不还都可不可不后能 通过程序前的cluster_name区分,以便进行分析可能性维护操作。

此用户也可不不还都可不可不后能 不还都可不可不后能 为服务器程序的宿主.

正在启动服务器程序

pg_clog       pg_ident.conf  pg_replslot   pg_stat_tmp   PG_VERSION

postgres  5399  5393  0 18:25 ?        00:00:00 postgres: eric: autovacuum launcher process           

postgres  3340  3335  0 17:59 ?        00:00:00 postgres: writer process                                

查看一下系统中一另另一4个实例的程序标示哪些不同:

                                     数据库列表

启动 postgresql-9.5 服务:                                 [挑选]

-bash-3.2$ < 2016-01-01 20:55:00.710 CST >日志:  日志输出重定向到日志挂接程序

root      53001  4945  0 18:39 pts/0    00:00:00 su - postgres

清理数据库 template1 ... 成功

                                     数据库列表

    ./pg_ctl -D /pgdata2 -l logfile start

-bash-3.2$ ps -ef|grep postgres

< 2016-01-01 18:44:24.778 CST >提示:  后续的日志输出将总出 在目录 "pg_log"中.

拷贝 template1 到 template0 ... 成功

 template0 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +

多个实例运行的已经 ,该功能效果比较明显,大伙儿再创建一另另一4个实例有已经 设置一下cluster_name:

停止 postgresql-9.5 服务:                                 [挑选]

-bash-3.2$ vi postgresql.conf

postgres  57300  53002  0 18:44 pts/0    00:00:00 ps -ef

-----------+----------+----------+-------------+-------------+-----------------------

cluster_name = 'gao'   

           |          |          |             |             | eric=C*T*c*/postgres

postgres  5798  53002  0 18:46 pts/0    00:00:00 grep postgres

postgres  3335     1  0 17:59 ?        00:00:00 /usr/pgsql-9.5/bin/postmaster -D /var/lib/pgsql/9.5/data

创建新的实例:

postgres  3343  3335  0 17:59 ?        00:00:00 postgres: stats collector process                       

有已经 保存postgresql.conf,重启数据库查看一下程序名称可能性有了cluster name:

postgres  5248  5246  0 18:17 ?        00:00:00 postgres: eric: logger process                          

行 initdb 时使用 -A可能性--auth-local和--auth-host选项.

postgres  5399  5393  0 18:25 ?        00:00:00 postgres: eric: autovacuum launcher process           

-bash-3.2$ < 2016-01-01 18:46:27.848 CST >日志:  日志输出重定向到日志挂接程序

-bash-3.2$ ./initdb -D /pgdata2

postgres  5727  5722  0 18:44 ?        00:00:00 postgres: wal writer process           

正在创建字典 ... 成功

postgres  53002  53001  0 18:39 pts/0    00:00:00 -bash

服务器程序可能性关闭

postgres  523000  5246  0 18:17 ?        00:00:00 postgres: eric: checkpointer process                    

禁止为数据页生成校验和.

           |          |          |             |             | postgres=CTc/postgres

postgres  3337  3335  0 17:59 ?        00:00:00 postgres: logger process                                

-bash-3.2$ /usr/pgsql-9.5/bin/pg_c-D /pgdata2 restart -m fast

postgres  5252  5246  0 18:17 ?        00:00:00 postgres: eric: wal writer process                      

-bash-3.2$ ./pg_ctl -D /pgdata2 start

root      53001  4945  0 18:39 pts/0    00:00:00 su - postgres

重启新实例:

 template1 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +

 music     | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =Tc/postgres         +

postgres  5394  5393  0 18:25 ?        00:00:00 postgres: eric: logger process                        

输入 "help" 来获取帮助信息.

改一下新实例的端口:

           |          |          |             |             | postgres=CTc/postgres+

创建(字符集)校对规则 ... 成功

postgres  5300  5393  0 18:25 ?        00:00:00 postgres: eric: stats collector process               

[root@dbserver pg_log]# ps -ef|grep postgres

等待歌曲服务器程序关闭 .... 完成

postgres=# \l

postgres  3342  3335  0 17:59 ?        00:00:00 postgres: autovacuum launcher process                   

挑选默认共享缓冲区大小 (shared_buffers) ... 128MB

正在启动服务器程序

-----------+----------+----------+-------------+-------------+-----------------------

[root@dbserver /]# mkdir pgdata2

postgres  5794  5789  0 18:46 ?        00:00:00 postgres: gao: wal writer process      

同步数据到磁盘...成功

正在启动服务器程序

postgres  5725  5722  0 18:44 ?        00:00:00 postgres: checkpointer process         

           |          |          |             |             | postgres=CTc/postgres

postgres  5789     1  0 18:46 pts/0    00:00:00 /usr/pgsql-9.5/bin/postgres -D /pgdata2

   名称    |  拥有者  | 字元编码 |  校对规则   |    Ctype    |       存取权限        

global        pg_hba.conf    pg_notify     pg_stat       pg_twophase  postgresql.conf

postgres  5393     1  0 18:25 pts/0    00:00:00 /usr/pgsql-9.5/bin/postgres -D /var/lib/pgsql/9.5/data

改成:

postgres  5254  5246  0 18:17 ?        00:00:00 postgres: eric: stats collector process                 

设置新实例的cluster_name:

-bash-3.2$ /usr/pgsql-9.5/bin/pg_ctl -D /pgdata2 start

缺省的文本搜索配置可能性被设置到"simple"

-bash-3.2$ psql -p 5432

postgres  5300  5393  0 18:25 ?        00:00:00 postgres: eric: stats collector process               

[root@dbserver /]# chown -R postgres.postgres /pgdata2

属于此数据库系统的文件宿主为用户 "postgres".

postgres  5793  5789  0 18:46 ?        00:00:00 postgres: gao: writer process          

你可不不还都可不可不后能 通过编辑 pg_hba.conf 更改或你下次

初始化dependencies ... 成功

postgres  3339  3335  0 17:59 ?        00:00:00 postgres: checkpointer process                          

-bash-3.2$ psql -p 5433

cluster_name = 'eric'                   # added to process titles if nonempty

新的实例没办法 前缀cluster_name的标识,目前还是可不不还都可不可不后能 比较清楚的分辨一另另一4个实例,那可能性有更多的实例在同一另另一4个OS中,就可不不还都可不可不后能 不还都可不可不后能 明确的区分了。

启动新实例:

port = 5433

postgres  5251  5246  0 18:17 ?        00:00:00 postgres: eric: writer process                          

postgres=# \l

创建信息模式 ... 成功

postgres  3341  3335  0 17:59 ?        00:00:00 postgres: wal writer process                            

默认的数据库编码可能性相应的设置为 "UTF8".

postgres=# \q

postgres  5398  5393  0 18:25 ?        00:00:00 postgres: eric: wal writer process                    

postgres  5398  5393  0 18:25 ?        00:00:00 postgres: eric: wal writer process                    

创建第一另另一4个实例的目录:

 template1 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +

postgres  53002  53001  0 18:39 pts/0    00:00:00 -bash

警告:为本地连接启动了 "trust" 认证.

修复已处在目录 /pgdata2 的权限 ... 成功

正在装载PL/pgSQL服务器端编程语言...成功

postgres  5797  53002  0 18:46 pts/0    00:00:00 ps -ef

修改配置文件postgresql.conf中的cluster_name参数:

postgres  5790  5789  0 18:46 ?        00:00:00 postgres: gao: logger process          

psql (9.5beta2)

psql (9.5beta2)

postgres  5397  5393  0 18:25 ?        00:00:00 postgres: eric: writer process                        

 template0 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +

修改postgresql.conf:

-bash-3.2$ ls

-bash-3.2$ /usr/pgsql-9.5/bin/pg_ctl -D /pgdata2 restart -m fast

postgres  5792  5789  0 18:46 ?        00:00:00 postgres: gao: checkpointer process    

(3 行记录)

[root@dbserver tmp]# ps -ef|grep postgres

在 /pgdata2/base/1 中创建 template1 数据库 ... 成功

< 2016-01-01 18:46:27.848 CST >提示:  后续的日志输出将总出 在目录 "pg_log"中.

postgres  5396  5393  0 18:25 ?        00:00:00 postgres: eric: checkpointer process                  

程序的前面可能性有了cluster_name前缀。

 postgres  | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 

postgres  5728  5722  0 18:44 ?        00:00:00 postgres: autovacuum launcher process   

postgres  5396  5393  0 18:25 ?        00:00:00 postgres: eric: checkpointer process                  

-bash-3.2$ cd /usr/pgsql-9.5/bin/

postgres  5393     1  0 18:25 pts/0    00:00:00 /usr/pgsql-9.5/bin/postgres -D /var/lib/pgsql/9.5/data

创建字符集转换 ... 成功

初始化 pg_authid ...  成功

正在创建子目录 ... 成功

postgres  5729  5722  0 18:44 ?        00:00:00 postgres: stats collector process      

改成了如下:

postgres  5795  5789  0 18:46 ?        00:00:00 postgres: gao: autovacuum launcher process   

postgres  5731  53002  0 18:44 pts/0    00:00:00 grep postgres

数据库簇将使用本地化语言 "zh_CN.UTF-8"进行初始化.

-bash-3.2$ cd /pgdata2

pg_config       pg_controldata  pg_ctl          

< 2016-01-01 20:55:00.710 CST >提示:  后续的日志输出将总出 在目录 "pg_log"中.

(4 行记录)

OK~~~

创建配置文件 ... 成功

postgres  5253  5246  0 18:17 ?        00:00:00 postgres: eric: autovacuum launcher process             

postgres  5397  5393  0 18:25 ?        00:00:00 postgres: eric: writer process                        

base          pg_dynshmem    pg_multixact  pg_snapshots  pg_tblspc    postgresql.auto.conf

postgres  5723  5722  0 18:44 ?        00:00:00 postgres: logger process               

postgres  5796  5789  0 18:46 ?        00:00:00 postgres: gao: stats collector process   

体验一下cluster_name的魅力:

root      3487  3390  0 18:03 pts/0    00:00:00 grep postgres

对内建对象设置权限 ... 成功

root      5259  4945  0 18:17 pts/0    00:00:00 grep postgres

-bash-3.2$ ps -ef|grep postgres

           |          |          |             |             | postgres=CTc/postgres

正在加载系统对象描述 ...成功

 postgres  | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 

postgres  5246     1  0 18:17 ?        00:00:00 /usr/pgsql-9.5/bin/postmaster -D /var/lib/pgsql/9.5/data

-bash-3.2$ < 2016-01-01 18:44:24.778 CST >日志:  日志输出重定向到日志挂接程序

           |          |          |             |             | postgres=CTc/postgres

创建系统视图 ... 成功

不同的实例可能性进行了区分:

挑选默认最大联接数 (max_connections) ... 3000

Success. You can now start the database server using: