PostgreSQL 安装
PostgreSQL 安装1、下载postgresql 最新版:http://www.postgresql.org/ftp/source/2、解压文件:tar -zxvfpostgresql-14.1.tar.gz3、准备工作:a)添加一个postgreSQL用户(注:这里名称为postgres,因这样最易懂)[补充:其他用户比如test要启动数据库的话,text账号需要满足两个条件:a.chow
PostgreSQL 安装
1、下载postgresql 最新版:http://www.postgresql.org/ftp/source/
2、解压文件:
tar -zxvf postgresql-14.1.tar.gz
3、准备工作:
a)添加一个postgreSQL用户(注:这里名称为postgres,因这样最易懂)
[补充:其他用户比如test要启动数据库的话,text账号需要满足两个条件:a.chown -R test data(即PGDATA以及表空间目录必须700);b.给予test,PGDATA以及表空间目录必须700);b.给予test,PGHOME的rx权限]
adduser postgres
b)创建pg安装路径并设置owner
mkdir /opt/pgsql
chown postgres /opt/pgsql
c) 创建数据存储目录并设置owner
mkdir /opt/pgsql/data
chown postgres /opt/pgsql/data #权限不够时,加sudo
d) 创建保存pg日志的文件
touch /opt/pgsql/pgsql.log
chown postgres /opt/pgsql/pgsql.log
4、编译并安装
cd postgresql-14.1
./configure --prefix=/opt/pgsql
make
make install
./configure --prefix=/opt/pgsql失败的时候,
如果没安装Readline 库,既编译时加上 --without-readline 选项,那么 psql 端不能使用上下翻键和 Backspace 键,也不能查看历史 psql 命令,非常不方便。
./configure --prefix=/opt/pgsql --without-readline --without-zlib
5、初始化数据库目录并启动:
a)切换用户
su - postgres
b)初始化数据库并启动
cd /opt/pgsql/bin
./initdb -D /opt/pgsql/data
#不带日志启动
./postgres -D /opt/postgresql/data
# 带日志启动
./pg_ctl -D /opt/pgsql/data -l /opt/pgsql/pgsql.log start
#或者
./postmaster -D /opt/pgsql/data > /opt/pgsql/pgsql.log 2>&1 &
其他命令:
@查看数据库状态:
./pg_ctl -D /opt/pgsql/data status
@关闭数据库:
./pg_ctl -D /opt/pgsql/data stop
@进入pgsql:
./psql
@查看pg是否启动
ps -A | grep postgres
ps -aux | grep postgres
查看http://wiki.postgresql.org/wiki/Apt
注意:安装完毕后,系统会创建一个数据库超级用户“postgres”, 密码为空。这个用户既是不可登录的操作系统用户,也是数据库用户.所以使用pgAdmin3时要先设置密码
//远程连接
修改/opt/pgsql/data/pg_hba.conf
找不到时候 用 find / -name pg_hba.conf
host all all 0.0.0.0/0 trust
#host是连接类型,第一个all是数据库,第二个是用户,第三个是IP,修改成 0.0.0.0/0,代表所有ip都可以连接,默认是你本地IP,(/24 代表掩码255.255.255.0)。md5是传输时使用何种方式进行加密。
修改/opt/pgsql/data/postgresql.conf
#listen_address='localhost'改成listen_address = '*'
最后 重启服务
./pg_ctl -D /opt/pgsql/data stop
./pg_ctl -D /opt/pgsql/data -l /opt/pgsql/pgsql.log start
#创建用户
create user liunn;
#创建密码
alter user liunn with encrypted password 'liunpassword';
#创建数据库
create database liunndatabase;
#数据库关联用户
grant all privileges on database liunndatabase to liunn;
键入\q退出外壳。
使用普用户创建数据库时候
PG::Error: ERROR: permission denied to create database
解决方式:
使用postgres 登录
sudo -u postgres psql
postgres=# ALTER ROLE xxxx CREATEROLE CREATEDB;
xxxx: 普通用户名称
赋予超级权限
ALTER ROLE xxxx CREATEROLE SUPERUSER;
更多推荐
所有评论(0)