zoukankan      html  css  js  c++  java
  • pgsql安装 centos自带的9.2.4

    一、安装 PostgresSQL

    Centos 7 自带的 PostgresSQL 是 9.2 版的。因为,yum 已经做了国内源,速度飞快,所以直接就用 yum 安装了。依次执行以下命令即可,非常简单。

    1 sudo yum -y install postgresql-server postgresql
    2 sudo service postgresql initdb
    3 sudo chkconfig postgresql on
    4 sudo systemctl enable postgresql
    5 sudo systemctl start postgresql

    如果需要安装最新的版本,那就按官网上的说明来吧,但那个下载速度实在是……

    https://www.postgresql.org/download/linux/redhat/

    二、控制台 & 基本命令 & 数据库操作

    PostgresSQL 默认已经创建了名为 postgres 的超级用户。

    执行以下命令,登录控制台

    1 sudo -u postgres psql postgres

    可以试试以下一些常用的控制台命令

    (这一部分的内容,基本是照搬阮兄的博文,我把操作逻辑贯通了一些,另做了少量补充,方便实验,原文在此

    复制代码
    # 查看 SQL 命令的解释,比如 h select
    h
     
    # 查看 PostgresSQL 命令列表 
    ?
     
    # 列出所有数据库
    l
     
    # 连接(使用)某个数据库 
    c [database_name]
     
    # 列出当前数据库的所有表格
    d
     
    # 列出某一张表格的结构
    d [table_name]
     
    # 列出所有用户
    du
     
    # 打开文本编辑器
    e
     
    # 列出当前数据库和连接的信息
    conninfo
     
    # 退出控制台
    q
    复制代码

    创建名为 testdb 的数据库(注意:不要忘了命令末尾的分号!)

    1 CREATE DATABASE testdb;

    再用执行 l,确认数据库已经创建成功了

    连接到(使用)testdb 数据库

    1 c testdb

    查看连接信息,确认已经连接到 testdb 上了

    1 conninfo

    接下来就是数据库的基本操作了,其实就是各种 SQL 语句,例如:

    复制代码
     1 # 创建新表(执行后,用 d 可以看到当前数据库的表格列表中,出现了 user_tb)
     2 CREATE TABLE user_tb(name VARCHAR(20), signup_date DATE);
     3  
     4 # 插入数据 
     5 INSERT INTO user_tb(name, signup_date) VALUES('张三', '2017-08-03');
     6  
     7 # 选择记录 
     8 SELECT * FROM user_tb;
     9  
    10 # 更新数据 
    11 UPDATE user_tb set name = '李四' WHERE name = '张三';
    12  
    13 # 删除记录 
    14 DELETE FROM user_tb WHERE name = '李四';
    15  
    16 # 添加栏位(使用 d user_tb 查看 SQL 执行前后,表结构的变化)
    17 ALTER TABLE user_tb ADD email VARCHAR(40);
    18  
    19 # 更新结构 
    20 ALTER TABLE user_tb ALTER COLUMN signup_date SET NOT NULL;
    21  
    22 # 更名栏位 
    23 ALTER TABLE user_tb RENAME COLUMN signup_date TO signup;
    24  
    25 # 删除栏位 
    26 ALTER TABLE user_tb DROP COLUMN email;
    27  
    28 # 表格更名 
    29 ALTER TABLE user_tb RENAME TO user_dt_new;
    30  
    31 # 删除表格 
    32 DROP TABLE IF EXISTS user_dt_new;
    复制代码

    三、创建用户 & 启用密码登录 & shell 命令

    真正我们在产品中不会直接使用默认的 postgres 用户,而是自己创建一个用户。

    有两种操作方法:

    1. 进入 PostgresSQL 的控制台操作
    2. 使用 PostgresSQL 提供的 shell 命令

    第二部分,使用的是控制台操作,这一部分,我们要试试 shell 命令

    创建名为 dbuser 的用户并设置密码

    1 sudo -u postgres createuser dbuser -P

    创建名为 mydb 的数据库,并设置其所有者为我们新创建的用户 dbuser

    1 sudo -u postgres createdb -O dbuser mydb

    这时候,如果我们尝试用新创建的用户 dubser 登录数据库 mydb

    1 psql -U dbuser -d mydb -h localhost

    会遇到下面的错误

    1 psql: FATAL: Ident authentication failed for user "dbuser"

    这是因为 PostgresSQL 默认没有启用密码登录,所以我们要先修改配置启用之

    打开配置文件

    1 sudo vim /var/lib/pgsql/data/pg_hba.conf

    找到下面这两行

    1 host    all    all    127.0.0.1/32    ident
    2 host    all    all    ::1/128         ident

    将 ident 改为 md5

    1 host    all    all    127.0.0.1/32    md5
    2 host    all    all    ::1/128         md5

    保存配置文件后,PostgresSQL

    1 sudo systemctl restart postgresql

    接下来,我们就可以用新创建的用户 dbuser 愉快地登录数据库啦

    1 psql -U dbuser -d mydb -h localhost

    注意 -h localhost 不能省略,否则 PostgresSQL 还会走 ident 的验证,会出现下面的错误

    1 psql: FATAL: Peer authentication failed for user "dbuser"

    四、允许远程访问(连接)

    PostgresSQL 默认是不允许远程访问的,如果我们想要在别的机器上访问数据库,还需要做一些设置。

    打开 postgresql.conf 文件

    1 sudo vim /var/lib/pgsql/data/postgresql.conf

    加入下面一行配置,表示允许来自任意 IP 的连接请求

    1 listen_addresses = '*'

    打开 pg_hba.conf 文件

    1 sudo vim /var/lib/pgsql/data/pg_hba.conf

    加入下面一行配置,表示对任意 IP 访问进行密码验证

    1 host    all    all    0.0.0.0/0    md5

    最后,重启 PostgreSQL 使配置生效

    1 sudo systemctl restart postgresql

    现在就可以远程访问 PostgreSQL 数据库啦

    【原文链接】http://www.ipaomi.com/2017/08/03/centos-7-3-安装配置-postgresql-9-x/

    ----------------------------------------------------------------------------------------------------------------

    pgsql允许远程操作设置

    安 装PostgreSQL数据库之后,默认是只接受本地访问连接。如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相应的配置。

    配置远 程连接PostgreSQL数据库的步骤很简单,只需要修改data目录下的pg_hba.conf和postgresql.conf。

    pg_hba.conf:配置对数据库的访问权限,

    postgresql.conf:配置PostgreSQL数据库服务器的相应的参数。

    下面 介绍配置的步骤:

     1.修改pg_hba.conf文件,配置用户的访问权限(#开头的行是注释内容):

    # TYPE DATABASE  USER    CIDR-ADDRESS     METHOD
    # "local" is for Unix domain socket connections only
    local all    all               trust
    # IPv4 local connections:
    host  all    all    127.0.0.1/32     trust
    host  all    all    192.168.1.0/24    md5
    # IPv6 local connections:
    host  all    all    ::1/128       trust
    其中,第7条是新添加的内容,表示允许网段192.168.1.0上的所有主机使用所有合法的数据库用户名访问数据库,并提供加密的密码验证。

    其中,数字24是子网掩码,表示允许192.168.1.0--192.168.1.255的计算机访问!

    2.修改postgresql.conf文件,将数据库服务器的监听模式修改为监听所有主机发出的连接请求。

    定位到#listen_addresses=’localhost’。PostgreSQL安装完成后,默认是只接受来在本机localhost的连接请 求。

    将行开头都#去掉,将行内容修改为listen_addresses=’*'来允许数据库服务器监听来自任何主机的连接请求
    ---------------------
    作者:冰之旅
    来源:CSDN
    原文:https://blog.csdn.net/ll136078/article/details/12747403
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    Web调试利器OpenWindow
    Caused by: java.lang.UnsatisfiedLinkError: Couldn't load BaiduMapVOS_v2_1_3: findLibrary returned nu
    exp
    paip.语义分析--分词--常见的单音节字词 2_deDuli 单字词 774个
    怎么计算Oracle的表一条记录占用空间的大小
    爱上WPF,努力才会有希望!
    大数据时代,你准备好了吗?
    将科学记数法的数字转换为字符串
    SQL Server安装
    AJAX
  • 原文地址:https://www.cnblogs.com/yuanzhengchi/p/9921110.html
Copyright © 2011-2022 走看看