首页 > 技术文章 > 在Linux上创建Postgresql数据库

leakeyash 2017-07-14 00:20 原文

由于前一次用默认的配置创建pgsql数据库倒置root的占用率达到97%。

 

重新创建一次数据库,很多坑又忘了。

创建一个放Data的文件夹,/majestic12/pgsql/data

PGDATA = /majestic12/pgsql/data
set | grep PGDATA

初始化db:

initdb -D /majestic12/pgsql/data

启动数据库(在后台运行)

postgres -D /majestic12/pgsql/data >logfile 2>&1 &

创建数据库用户(创建一个tdsadmin的超级用户,立即给它赋予密码)

createuser -P -s -e tdsadmin

创建数据库(创建一个属于tdsadmin的叫TDS的数据库)

createdb -O tdsadmin TDS

这时候就创建完成了,但是从外部来连接数据库访问时可能会遇到一些异常。

比如说不允许TCP/IP连接等,以及如下图:

这个时候需要执行对2个文件配置进行修改

对于postgresql.conf

#listen_address='127.0.0.1' =>
listen_address = '*'

对于pg_hba.conf

#TYPE DATEBASE USER CIDR-ADDRESS METHOD
host    all     all 0.0.0.0/0 MD5

修改完重启service

 

其他可能需要的资料:

netstat -tuln 查看现在的网络端口监听

ps -ef | grep postgres 查看是否存在PG进程

cat postgresql.conf|grep listen 查看监听地址是否正确

psql postgres 进入postgres命令环境

ls -ltr 看各个子文件或目录的权限

chkconfig postgresql-9.x on 设置开机启动

chown -R postgres:postgres data data文件夹用户所属组给postgres

chmod -R 0700 data 把data目前的所有文件及子目录文件权限改成: rwx (0700)

0.0.0.0/0 最后一位为子网掩码,255.255.255.255 => 0,8,16,24,32.

推荐阅读