zoukankan      html  css  js  c++  java
  • Postgresql DB安装和使用问题记录

    2.选择语言后提示: 

    Error: There has been an error.

    Please put SELinux in permissive mode and then run installer again. SELinux can 

    be put in enforcing mode again after installation.

    Press [Enter] to continue :

    解决方案:

    需要临时关闭SELinux

    setenforce 0     ##设置SELinux 成为permissive模式

     ##setenforce 1 设置SELinux 成为enforcing模式

    3.所有的指令,比如pg_ctrl提示:

    -bash:pg_ctrl: command not found 

    解决方案:

    这样的指令必须加上路径,即使是在当前目录下,也要用./pg_ctl

    可以设置环境变量解决:

    export PATH=/opt/PostgresPlus/9.2AS/bin:$PATH

    4.pg_ctl等指令提示:

    pg_ctl: no database directory specified and environment variable PGDATA unset

    解决方案:

    需要设置环境变量:

    export PGDATA=/opt/PostgresPlus/9.2AS/data

    5.完成安装后,远程连接数据库出现问题:执行请求的操作时遇到错误:IO 错误: Got minus one from a read call

    网上查的,打算修改一下opt/PostgresPlus/9.2AS/data|pg_hba.conf配置文件,可是当前用户没有权限

    打算切换到postgresql用户,发现忘了密码了

    passwd指令修改密码,登陆成功

    pg_hba.conf文件增加行:host    all         all       0.0.0.0/0            trust

    用pg_ctl restart重启数据库

    修改服务端data/postgresql.conf文件,将

    #listen_address='localhost'  改成  listen_addresses = '*'

     

    6.restart失败,无法关闭数据库

    按提示,增加参数:pg_ctl restart -m fast

    7.重启失败,start也失败,提示

    2014-10-12 00:06:56 CST 致命错误:  组或其他用户都可以访问数据目录 "/opt/PostgresPlus/9.2AS/data"

    2014-10-12 00:06:56 CST 详细信息:  权限应该为 u=rwx (0700).

    解决方案:

    修改权限:chmod 0700 data

    切换到 具有root权限的用户,
    1.先把文件夹 “/var/lib/pgsql/9.3/data” 的用户所属组,给postgres 用户:

    进入/var/lib/pgsql/9.3目录
    cd /var/lib/pgsql/9.3
    chown -R postgres:postgres data

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

    chmod -R 0700 data

    重启PostgreSQL 数据库,问题解决。

    1.postgresql 启动报错 pg_ctl:PID file "/database/data/postmaster.pid" does not exist

    解决方案:

    原因: /pgdata目录权限问题,chown -R postgres:root /pgdata ,成功解决

     

    8.启动报错:

    2014-10-12 00:22:33 CST 日志:  已加载的库 "$libdir/dbms_pipe"

    2014-10-12 00:22:33 CST 日志:  已加载的库 "$libdir/edb_gen"

    2014-10-12 00:22:33 CST 日志:  无法创建 IPv6 套接字: 协议不支持的地址族

    开始以为是IPv6的问题,后来根据后面的提示,查看日志:

    2014-10-12 01:39:15 CST 日志:  无效认证方法"127.0.0.1/32"

    2014-10-12 01:39:15 CST 上下文:  配置文件"/opt/PostgresPlus/9.2AS/data/pg_hba.conf"的第82行

    2014-10-12 01:39:15 CST 致命错误:  无法加载pg_hba.conf

    解决方案:

    是pg_hba.conf的问题,经检查是5中配置错误,将配置改为:

    host    all             all     0.0.0.0/0               md5

    启动成功

    9.登陆报错:

    -bash-4.1$ psql

    Password: 

    psql: 致命错误:  用户 "enterprisedb" Password 认证失败

    解决方案:

    将host    all             all     0.0.0.0/0               md5

    改为host    all             all     0.0.0.0/0               trust

    允许用户名密码认证

    10.接上回,输入psql提示enterprisedb不存在

    直接输入psql的话,会默认寻找和当前用户名一致的数据库名,但是没有这个数据库

    应该输入:psql template1

    成功:

    template1=# 

    进入后:create database enterprisedb

    或者不进入数据库,用createdb指令

    然后再次psql就能直接进入enterprisedb了

    查看现有数据库:

    enterprisedb=# select oid,datname from pg_database;

      oid  |   datname    

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

         1 | template1

     14077 | template0

     14082 | postgres

     14083 | edb

     16384 | enterprisedb

    (5 rows)

    11.删除data目录,重新initdb数据库

    解决方案:

    在data目录下:rm -rf *

    然后  initdb建立新的数据库

    12.修改用于enterprisedb密码

    这里需要注意,enterprisedb可能是linux的密码,也可能是数据库的密码,这里修改的是数据库的密码

    postgres=# ALTER USER enterprisedb with password 'admin';

    13.进入数据库后如何退出:

    template1=# quit

    14.创建和删除用户:

    createuser 是 SQL 命令 CREATE USER的封装。
    dropuser删除用户
     
  • 相关阅读:
    centos8 安装zabbix
    nginx添加开机启动
    redis 开机自启动
    oracle用cmd命令导入导出dmp文件
    oracle导入导出dmp文件的流程
    python中的静态函数与类函数区别与联系
    python中的类
    python解释器的安装和配置教程图集
    pycharm开发工具的安装和配置教程图集
    python占位符的使用以及宽度与精度的约束
  • 原文地址:https://www.cnblogs.com/feixiablog/p/8410683.html
Copyright © 2011-2022 走看看