• Centos安装postgresql


    一.执行安装命令与查看是否成功:

    1.yum install -y postgresql-server postgresql-contrib

    2.安装后执行$ psql --version 或 $ psql -V

    可显示psql (PostgreSQL) 9.2.24

    3.另外,安装的同时还会创建 postgres 用户,Home 为 /var/lib/pgsql,需要切换到 postgres 用户下才可以通过 psql 访问数据库服务。

    $ cat /etc/passwd | grep postgres
    postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash

    4.初始化:

    安装完成之后,不能直接启动数据库进程,需要先执行初始化。

    postgresql-setup initdb

    初始化过程会生成 PostgreSQL 的配置文件和存放数据库数据的数据库文件,路劲为 /var/lib/pgsql/data。

    5.启动服务

    $ systemctl start postgresql

    二.登录与修改配置文件

    1.psql登录 

    $ psql  或 $ psql -U root 或 $ psql --username root

    psql: 致命错误:  角色 "root" 不存在

    分析:默认的,只有在 CentOS 中使用 postgres 用户才可以通过 PostgreSQL 的 postgres 用户登录到 postgres 数据库。否则会触发错误:


    $ psql -U postgres
    psql: 致命错误:  对用户"postgres"的对等认证失败

    分析:这是因为 PostgreSQL 实现了很多基于 Bash 的指令,这些指令显然只能在特定的用户下才能使用。

    需要修改 pg_hba.conf 中的配置让 Root 用户和 postgres 用户是对等可信的:

    安装后的postgres存在于目录/var/lib/pgsql

    2.修改配置文件

    进入该目录data下,可以看到以下配置文件

    postgresql.conf  和 pg_hba.conf

    ①修改pg_hba.conf

    #local   all             all                                     trust  (这句加进去后,是远程免密登录)

    host all all 0.0.0.0/0 md5

    host all all ::1/128 md5  (这句加上后,可以进行 psql -h localhost -U postgres -d postgres 登录)

    ②修改postgresql.conf 

    #listen_addresses = 'localhost'     # what IP address(es) to listen on;
                        # comma-separated list of addresses;
                        # defaults to 'localhost'; use '*' for all
                        # (change requires restart)
    listen_addresses = '*'   (允许监听远程所有连接请求)

    3.重启服务生效

    systemctl restart postgresql.service

    查看命令$ netstat -npltu | grep postgres

    tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      5966/postgres       
    tcp6       0      0 :::5432                 :::*                    LISTEN      5966/postgres    

    4.再次登录

    $ psql -U postgres

    成功显示

    psql (9.2.24)
    Type "help" for help.

    三.远程登录

    远程登录
    注意,在 PostgreSQL Server 本地进行登录是不需要提供密码的,但远程登录需要。所以为了启用远程登录,首先需要设定用户的密码。有两种方式:

    执行 \password 指令。
    执行 alter user postgres with password ‘{your_pwd}’ SQL 语句。

    默认的,PostgreSQL 内置了 postgres 数据库和 postgres 用户,所以我们已修改 postgres 用户的密码为例:

    1.使用 postgres 账户登录到 postgres 数据库;

    psql -h localhost -d postgres -U postgres

    psql -d postgres -U postgres  (trust改为md5的话,这种登录就需要再输入密码)

    psql -h localhost -d postgres -U postgres 

    2.执行 \password 指令,并输入 postgres 用户的密码。

    postgres=# \password
    输入新的密码:
    再次键入:
    postgres=# \q

    或者命令行修改密码  ALTER USER postgres WITH PASSWORD '123456';

    备注:或者这样修改

    psql -h localhost  -U username -d databasename -c "ALTER USER username WITH PASSWORD 'new_password';"

    3.修改密码后,使用 postgres 账户进行远程登录就要使用密码进行身份认证了。

    $ psql --host=172.18.22.204 --port=5432 --dbname=postgres --username=postgres -W
    用户 postgres 的口令:
    psql: 致命错误:  用户 "postgres" Password 认证失败

    四.创建用户与数据库

    1.创建用户
    create user ‘{username}’ with password '{password}';
    2.创建数据库
    create database ‘{database}’ owner ‘{username}’;
    3.赋权限
    将数据库权限全部赋给某个用户
    grant all on database ‘{database}’ to ‘{username}’;
    4.通过文件导入数据库
    psql -U ‘{username}’ ‘{database}’ < /data/dum.sql

    psql -h localhost -U postgres sxfire < /data/source.sql

    5.导出数据库到文件

    pg_dump -h localhost -U sxfire sxfire >/data/dump.sql
     

    6.建表

    CREATE TABLE list_TABLE3(
       ID INT PRIMARY KEY     NOT NULL,
       table_NAME           TEXT    NOT NULL,
       table_comment           TEXT    NOT NULL,
       update_time        timestamp(6),
       create_time         timestamp(6),

        remark       CHAR(50)
    );

    表操作命令行:

    //增加序列
    CREATE SEQUENCE seq_fire_goaf_alarm START 1;

    //增加主键自增
    ALTER TABLE IF EXISTS public.fire_goaf_alarm
        ADD COLUMN id bigint  PRIMARY KEY DEFAULT NEXTVAL('seq_fire_goaf_alarm ');

    //删除列
    ALTER TABLE fire_goaf_alarm DROP COLUMN id;

    //加列名说明
    COMMENT ON COLUMN public.fire_goaf_alarm.id
        IS '主键自增';


    //pgadmin4 导出成plain ,用命令导入到centos中,之后用工具pgadminIII导出成dir再导入到windows中。

  • 相关阅读:
    企业私域社群体系化建设技巧分享
    【9】c++设计模式——>开放封闭原则
    给自己的信
    2022年浙江省中职组“网络空间安全”赛项模块B--Linux渗透测试
    spark基础
    游戏党福音,Google play游戏明年登录Windows
    详解 ElasticSearch Kibana 配置部署
    Java计算机毕业设计单车管理系统源码+系统+数据库+lw文档
    【Github】 Github访问不是私密连接问题
    2017年亚太杯APMCM数学建模大赛B题喷雾轨迹规划问题求解全过程文档及程序
  • 原文地址:https://blog.csdn.net/cyw8998/article/details/132851182