精华内容
下载资源
问答
  • Psql脚本执行器 Psql脚本执行器是PostgreSQL的psql.exe工具集的图形化封装,用C# 2.0写成。可以帮助PostgreSQL老手更好的维护数据库,可以帮助PostgreSQL新手更容易使用PostgreSQL数据库。 在SNS论坛上的地址: ...
  • psql -i 脚本执行

    千次阅读 2017-05-09 09:50:36
    最近自验升级脚本时用到了psql -i的命令,看了一个相关资料,很全面。 psql -- PostgreSQL 交互终端 用法: psql [option...] [dbname [username]] 描述: psql 是一个以终端为基础的 PostgreSQL 前端。它允许你...

    参考:linux psql  http://linux.51yip.com/search/psql

    最近自验升级脚本时用到了psql -i的命令,

    将sql脚本用filezilla上传到/home/web 路径下

    然后登陆pt数据库:su - pt
            password
            pt@Web:/> psql -U web -d pt
            pt=>
    用\i 执行: \i /home/web/.InsertTable_Kpi.sql;

    看了一个相关资料,很全面,这里截取两个,具体参考原文。

    psql --  PostgreSQL 交互终端
    
    用法:
    psql [option...] [dbname [username]]
    
    描述:
    psql 是一个以终端为基础的 PostgreSQL 前端。它允许你交互地键入查询,把它们发出给 PostgreSQL, 然后看看查询的结果。另外,输入可以来自一个文件。
    还有, 它提供了一些元命令和多种类 shell 地特性来实现书写脚本以及对大量任务的自动化。

    参数:
    
    -a
    --echo-all
        在读取行时向标准输出打印所有内容。 这个选项在脚本处理时比交互模式时更有用。这个选项等效于设置变量 ECHO 为 all。 
    
    
    \i filename
        从文件filename中读取并把其内容当作从键盘输入的那样执行查询。
        注意: 如果你想在屏幕上看到读入的行,你必须对所有行设置变量 ECHO 为 all。 

    展开全文
  • PSQL容器带脚本初始化

    2021-04-20 14:21:04
    为了方便在psql容器创建后,不需要进入其中单独创建我们需要的用户和数据库(或者其他操作),可以编写在Dockerfile时设置初始化脚本。 Dockerfile: # base镜像是postgres:lates FROM postgres:latest # 镜像相关...

    目的:

    为了方便在psql容器创建后,不需要进入其中单独创建我们需要的用户和数据库(或者其他操作),可以编写在Dockerfile时设置初始化脚本。

    Dockerfile:

    # base镜像是postgres:lates
    FROM postgres:latest
    
    # 镜像相关的资料信息
    LABEL maintainer="Prin<xxx@qq.com>"
    LABEL version = "1.0"
    LABEL description="prin psql images"
    
    # 设置环境变量,超级管理员的密码是必须设置的
    ENV POSTGRES_PASSWORD=Cisc0123
    
    # 向/docker-entrypoint-initdb.d/目录下添加init-user-db.sql脚本
    ADD init-user-db.sql /docker-entrypoint-initdb.d/
    

    容器运行时,psql会自动读取/docker-entrypoint-initdb.d/目录下的.sql脚本,并执行。

    init-user-db.sql:

        CREATE USER dev_dbuser WITH PASSWORD 'Cisc0123';
        CREATE DATABASE dev_db;
        GRANT ALL ON DATABASE dev_db TO dev_dbuser;
    

    创建管理员、数据库,并且赋予管理员权利。.sql文件最后和Dockerfile放在同一个文件夹中。

    在Dockerfile所在的文件夹下:

    步骤1:在当前目录下使用Dockerfile构建镜像

    docker build -t prin/psql .
    

    步骤2:使用镜像生成容器

    docker run --name dev_db_psql -p 5432:5432 -d prin/psql 
    

    步骤3:远程设备访问数据库,可以直接用脚本中的账号数据库登陆,回车后输入密码即可

    psql -U dev_dbuser -d dev_db -h 192.168.0.109(运行容器设备的IP地址)
    
    展开全文
  • 存放脚本的服务器需要安装HGDB客户端 [root@localhost ~]# groupadd -g 5866 highgo [root@localhost ~]# useradd -u 5866 -g highgo highgo; echo highgo | passwd -f --stdin highgo [root@localhost ~]# mkdir ...



    存放脚本的服务器需要安装HGDB客户端

    [root@localhost ~]# groupadd -g 5866 highgo
    [root@localhost ~]# useradd -u 5866 -g highgo highgo; echo highgo | passwd -f --stdin highgo
    
    [root@localhost ~]# mkdir -p /data/highgo/4.0
    [root@localhost ~]# chown -R highgo:highgo /data/
    
    [highgo@localhost 4.0]$ tar -zxvf hgdbbak.tar.gz 
    设置highgo用户的环境变量
    export LANG=C
    export HG_HOME=/data/highgo/4.0
    export PGUSER=highgo
    export PGPORT=5866
    export PGDATA=/data/highgo/4.0/data
    export PATH=$HG_HOME/bin:$PATH:$HOME/bin
    export LD_LIBRARY_PATH=$HG_HOME/lib:$LD_LIBRARY_PATH

    创建一个存放脚本的目录,要有highgo用户的属组权限

    [root@hgdb01 psql]# pwd
    /opt/psql
    [root@hgdb01 psql]# ll
    total 0
    drwxrwxr-x. 2 highgo highgo 91 Jun 23 21:09 psql_alert

    脚本内容,需要创建以下4个文件,都需要有highgo用户的属组权限

    [root@hgdb01 psql_alert]# pwd
    /opt/psql/psql_alert
    [root@hgdb01 psql_alert]# ll
    total 16
    -rwx------. 1 highgo highgo 692 Jun 23 21:08 mode.txt
    -rwx------. 1 highgo highgo 305 Jun 14 14:26 psql.exp
    -rwx------. 1 highgo highgo 684 Jun 14 14:21 psql.sh
    -rwx------. 1 highgo highgo 111 Jun 23 21:09 psql.sql

    mode.txt   填写数据库的连接信息

    [root@hgdb01 psql_alert]# cat mode.txt 
    cluster 1
    1 cldb_ip 192.168.16.110
    1 db_name highgo
    1 db_user highgo
    1 db_pawd highgo
    
    cluster 2
    2 cldb_ip 192.168.16.111
    2 db_name highgo
    2 db_user highgo
    2 db_pawd highgo
    每个数据库需要填写5行信息

    cluster   指定数据库的ID号,从1开始,多个数据库依次往下排序

    cldb_ip  指定连接数据库的IP地址

    db_name  指定需要连接的数据库名称

    db_user    指定连接数据库的用户名

    db_pawd   指定连接数据库的用户密码

    psql -h cldb_ip -p 5866 -d db_name -U db_user -W   输入密码db_pawd

    psql.sql文件指定需要执行的sql语句

    [root@hgdb01 psql_alert]# cat psql.sql 
    create table tb1 (id int);
    insert into tb1 values (1);
    insert into tb1 values (2);
    insert into tb1 values (3);

    psql.sh  执行程序

    [root@hgdb01 psql_alert]# cat psql.sh
    #!/bin/bash
    basepath=$(cd `dirname $0`; pwd)
    LOG=$basepath/alert_hgdb.log
    cid=$(cat $basepath/mode.txt |grep ^cluster | awk '{print $2}')
    for id in $cid
    do
            DATE=`date "+%Y_%m_%d %H:%M:%S"`
            echo $DATE  "INFO, alter hgdb $id / $cid start" >> $LOG
            cldb_ip=$(cat $basepath/mode.txt |grep ^"$id cldb_ip" | awk '{print $3}')
            db_name=$(cat $basepath/mode.txt |grep ^"$id db_name" | awk '{print $3}')
            db_user=$(cat $basepath/mode.txt |grep ^"$id db_user" | awk '{print $3}')
            db_pawd=$(cat $basepath/mode.txt |grep ^"$id db_pawd" | awk '{print $3}')
    
            expect $basepath/psql.exp $cldb_ip $db_name $db_user $db_pawd $basepath
            echo $DATE  "INFO, alter hgdb $id / $cid done" >> $LOG
    done

    当mode.txt和psql.sql修改完成后,以highgo用户执行psql.sh,就可以批量执行相同的sql命令

    [root@hgdb01 psql_alert]# su - highgo
    [highgo@hgdb01 psql_alert]$ /opt/psql/psql_alert/psql.sh 

    psql.exp辅助执行脚本

    [root@hgdb01 psql_alert]# cat psql.exp
    #!/usr/bin/expect
    set cldb_ip [lindex $argv 0]
    set db_name [lindex $argv 1]
    set db_user [lindex $argv 2]
    set db_pawd [lindex $argv 3]
    set basepath [lindex $argv 4]
    spawn psql -h $cldb_ip -p 5866 -U $db_user -d $db_name -f $basepath/psql.sql
    expect "Password for user $db_user:"
    send "$db_pawd\r"
    interact


    展开全文
  • #!/bin/bash for((i=1;i<=$1;i++)); .../bin/psql <<EOF begin; DO \$\$ DECLARE lv_var varchar; lv_rec record; BEGIN for lv_rec in ( select trunc(random()*1000000::int4):
    #!/bin/bash
    for((i=1;i<=$1;i++));
    do
    (
    /bin/psql  <<EOF
        begin;
           DO \$\$
             DECLARE
               lv_var varchar;
               lv_rec record;
             BEGIN
                for lv_rec in (
                   select trunc(random()*1000000::int4)::int as rec_id
                     from generate_series(1,40)
                )
                loop
                   update tmp_t0 set name=md5(id::varchar) where id=lv_rec.rec_id;
                end loop;
             END;
           \$\$ LANGUAGE plpgsql;
        commit;
    EOF
    )
    done
    
    
    展开全文
  • psql -f C:\Use^Zrs\wangd\Desktop\kong.sql
  • 1. 数据postgres=# select * from tb1; id | name -----+------ 2 | aa 3 | aa 4 | aa 7 | aa 8 | aa 9 | aa 10 | aa 1 | cc 5 | cc 6 | cc 100 | vv (11 rows)2. 准备sql脚本文件vi test.s
  • 脚本中调用psql如何自动输入密码

    千次阅读 2016-11-11 16:52:55
    设置环境变量PGPASSWORD #linux export PGPASSWORD=12345 #windows set PGPASSWORD=12345 ...在~/目录下创建隐藏文件.pgpass set PGPASSFILE=/文件路径/.pgpass 文件内容: hostname:port:database:username:password...
  • PSQL

    2014-10-11 14:22:00
    这个选项在脚本处理时比交互模式时更有用。 -e, --echo-queries echo commands sent to server 把所有发送给服务器的查询同时也拷贝到标准输出 -E, --echo-hidden display queries that internal commands ...
  • psql应用

    2019-09-17 15:36:13
    [postgres@pghost l ~]$ psql postgres postgres psql (10 . 0) Type " help” for help. postgres=# psql 后面的第一个 postgres表示库名,第二个postgres表示用户名,端口号默认使用变量$PGPORT 配置的数据库...
  • 仅SQL脚本解决了其他收集数据方法的局限性这仅需要与服务器的psql (PostgreSQL客户端工具)连接 支持的版本:PostgreSQL 10、11、12和13 最低支持版本:PostgreSQL 9.5,9.6 强调 开放安全:简单,透明,完全可审核...
  • psql参数

    千次阅读 2019-05-27 11:08:29
    psql [ option… ] [ dbname [ username ]] 选项: -a –echo-all 在读取所有非空输入行时将其打印到打印到标准输出(不适用于交互方式读取的行)。相当于将变量ECHO设置为all -A –no-align 切换到未对齐的输出...
  • 简单地说就是,你确实已经安装了11.0版本的数据库,但是psql脚本却是来自旧版本,本例中为9.2。如果不处理这个警告,对数据库进行操作时,有一些psql的特性会不能工作, 比如修改密码是不会起作用的 解决办法 ...
  • psql Linux

    2015-01-15 16:24:58
    psql -- PostgreSQL 交互终端 用法: psql [option...] [dbname [username]] 描述: psql 是一个以终端为基础的 PostgreSQL 前端...还有, 它提供了一些元命令和多种类 shell 地特性来实现书写脚本以及对大量任务的自
  • psql语法

    2016-05-26 16:24:47
    psql Name psql -- PostgreSQL 交互终端 Synopsis psql [option...] [dbname [username]] 描述 psql 是一个以终端为基础的 PostgreSQL 前端。它允许你交互地键入查询,把它们发出给 ...
  • psql 客户端

    2018-10-02 20:27:37
    psql是PostgreSQL 的交互式客户端工具。 使用方法: psql [选项]… [数据库名称 [用户名称]] 通用选项: -c,–command=命令 执行单一命令(SQL或内部指令)然后结束 -d, --dbname=数据库名称 指定要连接的数据库 (默认:...
  • PSQL指令

    2020-04-07 18:40:31
    PSQL指令 \du:查看所有用户 select current_user:查看当前用户 h create use:获取该命令的语法帮助 create user user_name:创建新的用户 如:create user user1 login encrypted password 'user1'; 授予与回收 ...
  • psql的命令语法

    千次阅读 2014-07-24 17:08:20
    psql命令行快速参考 psql的命令语法是: psql [options] [dbname [username]] psql命令行选项以及它们的意思在表1-1中列出。使用以下命令可以看到psql完整的选项列表: $ psql --help ...从脚本中响应所有

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,622
精华内容 1,848
关键字:

psql脚本