由于使用Tbase分布式数据库,熟悉PG特性,需要安装一个PG数据库
下载链接:https://www.enterprisedb.com/download-postgresql-binaries
下载完后,上传到服务器上
一、添加用户
groupadd postgres
useradd -g postgres postgres
passwd 123456
二、解压
tar -zxvf postgresql-10.7-2-linux-x64-binaries.tar.gz -C /usr/local/
三、创键数据文件夹
mkdir /usr/local/pgsql/data
四、把文件赋给postgres用户
chown -R postgres:postgres /usr/local/pgsql
五、数据库安装初始化
1、切换用户,添加环境变量并初始化数据库
su - postgres
2、添加环境变量
vim .bashrc
export PGHOME=/usr/local/pgsql
export PGDATA=/usr/local/pgsql/data
export PATH=$PGHOME/bin:$PATH
export MANPATH=$PGHOME/share/man:$MANPATH
export LANG=en_US.utf8
export DATE='date +"%Y-%m-%d %H:%M:%S"'
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
3、使配置的环境变量生效
source .bashrc
4、初始化数据库
initdb [命令选项] [--pgdata | -D] 目录名
常用命令选项有:
-A method:设置认证方式,比如method的值可以是peer、ident、md5、trust等值
--auth-host=method:这个选项用来设置远程主机连接的认证方法
--auth-local=method:这个选项用来设置本地主机连接的认证方法
-E encoding:设置服务器端的编码方式
-U user :设置服务器的超级用户
--pwfile=filename:设置超级用户的密码文件,从filename文件中的第一行读取,一般用于设置比较复杂的密码,或者用于自动化处理。
-W :后面不带任何数值,表示在初始化时手动输入密码。
-D/--pgdata:这个用来设置存放PostgreSQL数据库文件和配置文件所在目录。
执行该命令:
initdb -A md5 -U postgres -W -D /usr/local/pgsql/data
然后设置初始化密码
六、修改配置文件并启动数据库
修改PostgresSQL 数据库配置
vim /usr/local/pgsql/data/postgresql.conf
修改为如下:
listen_addresses = '*'
修改客户端认证配置文件pg_hba.conf,将需要远程访问数据库的IP地址或地址段加入该文件
vim /var/postgresql/data/pg_hba.conf
在文件的最下方加上下面的这句话
host all all 0.0.0.0/0 md5
启动数据库
pg_ctl -D /usr/local/pgsql/data -l logfile start
七、测试数据库
输入命令 psql,进行命令行
查看数据库
\l
创建测试数据库
create database test;
切换到test 数据库
\c test
退出
\q
停止服务
pg_ctl stop -m fast
以上是我在云服务器上安装的,但是在测试服务器上安装的时候由于服务器字符集编码为GB18030,报错如下:
执行命令为:./initdb -D /home/weblogic/pg/pgsql/data
The files belonging to this database system will be owned by user "weblogic".
This user must also own the server process.
The database cluster will be initialized with locale "zh_CN.gb18030".
initdb: locale "zh_CN.gb18030" requires unsupported encoding "GB18030"
Encoding "GB18030" is not allowed as a server-side encoding.
Rerun initdb with a different locale selection.
PG支持简体中文有四种编码:EUC_CN(Extended UNIX Code-CN)、GB18030、GBK和UTF-8。但GB18030和GBK只能作为客户端编码,不能设置为服务端编码;由于Windows上又不支持EUC_CN编码,所以在Windows上服务端编码只能设为UTF-8。
由于我没有配置环境变量没有设置字符集,所以使用该命令初始化数据库
./initdb -D /home/weblogic/pg/pgsql/data -E UTF-8 --locale=zh_CN.UTF-8
参考链接: