zoukankan      html  css  js  c++  java
  • 访问GitLab的PostgreSQL数据库,查询、修改、替换等操作

    1.登陆gitlab的安装服务查看配置文件

    cat /var/opt/gitlab/gitlab-rails/etc/database.yml 
    
    production:
      adapter: postgresql
      encoding: unicode
      collation:
      database: gitlabhq_production  //数据库名
      pool: 10
      username: 'gitlab'  //用户名
      password:
      host: '/var/opt/gitlab/postgresql'  //主机
      port: 5432
      socket:
      sslmode:
      sslrootcert:
      sslca:

    查看/etc/passwd文件里边gitlab对应的系统用户

    [root@localhost ~]# cat /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    gitlab-www:x:496:493::/var/opt/gitlab/nginx:/bin/false
    git:x:495:492::/var/opt/gitlab:/bin/sh
    gitlab-redis:x:494:491::/var/opt/gitlab/redis:/bin/false
    gitlab-psql:x:493:490::/var/opt/gitlab/postgresql:/bin/sh  //gitlab的postgresql用户

    2.根据上面的配置信息登陆postgresql数据库

    [root@localhost ~]# su - gitlab-psql     //登陆用户
    
    -sh-4.1$ psql -h /var/opt/gitlab/postgresql -d gitlabhq_production   //连接到gitlabhq_production库
    
    psql (9.2.18)
    Type "help" for help.
    
    gitlabhq_production=#  h    //查看帮助命令
    
    Available help:
    ABORT CREATE FUNCTION DROP TABLE
    ALTER AGGREGATE CREATE GROUP DROP TABLESPACE
    ALTER COLLATION CREATE INDEX DROP TEXT SEARCH CONFIGURATION
    ALTER CONVERSION CREATE LANGUAGE DROP TEXT SEARCH DICTIONARY
    ALTER DATABASE CREATE OPERATOR DROP TEXT SEARCH PARSER
    ALTER DEFAULT PRIVILEGES CREATE OPERATOR CLASS DROP TEXT SEARCH TEMPLATE
    ALTER DOMAIN CREATE OPERATOR FAMILY DROP TRIGGER
    ALTER EXTENSION CREATE ROLE DROP TYPE
    
    ……………………………………………………………………………………………………………………
    
     
    
    gitlabhq_production-# l     //查看数据库
    List of databases
    Name | Owner | Encoding | Collate | Ctype | Access privileges 
    ---------------------+-------------+----------+-------------+-------------+---------------------------------
    gitlabhq_production | gitlab | UTF8 | en_US.UTF-8 | en_US.UTF-8 | 
    postgres | gitlab-psql | UTF8 | en_US.UTF-8 | en_US.UTF-8 | 
    template0 | gitlab-psql | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/"gitlab-psql" +
    | | | | | "gitlab-psql"=CTc/"gitlab-psql"
    template1 | gitlab-psql | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/"gitlab-psql" +
    | | | | | "gitlab-psql"=CTc/"gitlab-psql"
    (4 rows)
    
    gitlabhq_production-# c gitlabhq_production //进入gitlabhq_production库 gitlabhq_production
    -# dt //查看多表 List of relations Schema | Name | Type | Owner --------+--------------------------------------+-------+-------- public | abuse_reports | table | gitlab public | appearances | table | gitlab public | application_settings | table | gitlab public | audit_events | table | gitlab public | award_emoji | table | gitlab public | boards | table | gitlab public | broadcast_messages | table | gitlab …………………………………………………………………………………………………………………… gitlabhq_production-# d abuse_reports //查看单表 Table "public.abuse_reports" Column | Type | Modifiers --------------+-----------------------------+------------------------------------------------------------ id | integer | not null default nextval('abuse_reports_id_seq'::regclass) reporter_id | integer | user_id | integer | message | text | created_at | timestamp without time zone | updated_at | timestamp without time zone | message_html | text | Indexes: "abuse_reports_pkey" PRIMARY KEY, btree (id) gitlabhq_production-# di //查看索引 List of relations Schema | Name | Type | Owner | Table --------+-----------------------------------------------------------------+-------+--------+-------------------------------- ------ public | abuse_reports_pkey | index | gitlab | abuse_reports public | appearances_pkey | index | gitlab | appearances public | application_settings_pkey | index | gitlab | application_settings public | audit_events_pkey | index | gitlab | audit_events public | award_emoji_pkey | index | gitlab | award_emoji public | boards_pkey | index | gitlab | boards public | broadcast_messages_pkey | index | gitlab | broadcast_messages public | chat_names_pkey | index | gitlab | chat_names public | ci_application_settings_pkey | index | gitlab | ci_application_settings public | ci_builds_pkey | index | gitlab | ci_builds public | ci_commits_pkey | index | gitlab | ci_commits ……………………………………………………………………………………………………………………………………………… gitlabhq_production=# SELECT spcname FROM pg_tablespace; //查看所有表空间 spcname ------------ pg_default pg_global (2 rows) gitlabhq_production-# q //退出psql -sh-4.1$ exit //退出登录用户 logout

    批量替换某个表字段的字符串

    update tableA set field=replace(field,'value1','value2')

    导出整个库:

    pg_dump -h 127.0.0.1 -U testuser test >test.sql

    导入整个库

    psql -U testuser test < test.sql

    注意:这里的testuser是postgres用户,test是数据库名称,而且,testuser需要有test的权限

  • 相关阅读:
    UVA 408 (13.07.28)
    linux概念之用户,组及权限
    Java实现 蓝桥杯 历届试题 网络寻路
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 九宫重排
    Java实现 蓝桥杯 历届试题 九宫重排
  • 原文地址:https://www.cnblogs.com/linyouyi/p/10634833.html
Copyright © 2011-2022 走看看