2022-04-18 14:17:37    12    0    0

本文讲解deb简单打包方法,更深层次的自己去研究

1、准备打包文件

root@ivan-PC:/home/ivan/deb# pwd
/home/ivan/deb
root@ivan-PC:/home/ivan/deb# ls
rpm_test.jar run.sh​​

2、准备打包环境,程序安装完后,安装目录为/opt/ivan

#创建打包目录
mkdir /ivan
cd /ivan
#创建源码目录(打包路径下,创建安装目录路径)
mkdir -p opt/ivan
cd opt/ivan
#将需要打包的文件cp到源码目录下
cp /home/ivan/deb/* ./​
root@ivan-PC:/ivan/opt/ivan# pwd
/ivan/opt/ivan
root@ivan-PC:/ivan/opt/ivan# ls -lh
总用量 16K
-rw-r--r-- 1 root root 8.4K 4月 18 05:42 rpm_test.jar
-rwxr-xr-x 1 root root 55 4月 18 05:42 run.sh​

3、创建DEBIAN文件夹,并在此文件夹下创建control文件

root@ivan-PC:/ivan/DEBIAN# pwd
/ivan/DEBIAN
root@ivan-PC:/ivan/DEBIAN# ls -lh
总用量 4.0K
-rw-r--r-- 1 root root 198 4月 18 05:49 control
root@ivan-PC:/ivan/DEBIAN# more control
Package: deb-test
Version: 1.0.1
Section: test
Priority: optional
Architecture: all
Depends:
Installed-Size: 512
Maintainer: ivan
Description: deb test

4、文件结构

root@ivan-PC:/ivan# tree /ivan
/ivan
├── DEBIAN
│   └── control
└── opt
 └── ivan
 ├── rpm_test.jar
 └── run.sh
3 directories, 3 files

5、打包

root@ivan-PC:/ivan# 
2022-04-18 11:02:37    9    0    0

本文讲解rpm简单打包方法,更深层次的自己去研究。

1、准备需要打包的文件

[root@localhost ivan]# pwd
/ivan
[root@localhost ivan]# ll
总用量 16
-rw-r--r--. 1 root root 8630 4月 18 10:41 rpm_test.jar
-rwxrwxrwx. 1 root root 55 4月 18 11:05 run.sh​
[root@localhost ivan]# java -jar rpm_test.jar
Hello, Rpm!
[root@localhost ivan]# ./run.sh
Hello, Rpm!
[root@localhost ivan]#

2、安装rpmbuild

yum install rpm-build rpmdevtools -y​

3、生成对应的目录结构

rpmdev-setuptree​

执行完后,会在/root下,生成对应的目录,如下:

[root@localhost ~]# pwd
/root
[root@localhost ~]# tree rpmbuild/
rpmbuild/
├── BUILD
├── RPMS
├── SOURCES
├── SPECS
└── SRPMS
5 directories, 0 files​

4、程序安装完后,将安装目录放在/opt/ivan路径下

在上面的SOURCES文件夹下创建安装路径,将需要打包的文件放在创建的安装路径下。

[root@localhost ~]# mkdir -p rpmbuild/SOURCES/opt/ivan
[root@localhost ivan]# pwd
/root/rpmbuild/SOURCES/opt/ivan
[root@localhost ivan]# cp /ivan/* ./
[root@localhost ivan]# ll
总用量 16
-rw-r--r--. 1 root root 8630 4月 18 11:17 rpm_test.jar
-rwxr-xr-x. 1 root root 55 4月 18 11:17 run.sh​

5、当前目录结构

[root@localhost ~]# pwd
/root
[root@localhost ~]# tree r
2022-03-18 17:09:22    16    0    0

一个程序员为帮助妻子管理菜谱开发的搜索工具最终成为一个强大的全文检索数据库。看来,面向对象依然是程序员创作的强大灵感源泉之一。

2022-01-26 15:15:07    2    0    0
system_stats是Postgres的扩展,它提供了访问系统级统计信息的功能,这些统计信息可用于监控。它支持Linux、macOS和Windows。
git https://github.com/EnterpriseDB/system_stats.git

Linux and macOS:
    tar -zxvf system_stats-1.0.tar.gz
    cd system_stats-1.0
    PATH="/usr/local/pgsql/bin:$PATH" make USE_PGXS=1
    sudo PATH="/usr/local/pgsql/bin:$PATH" make install USE_PGXS=1
功能:
    提供以下函数来获取所有平台的系统级统计信息。
    pg_sys_os_info 此界面允许用户获取操作系统统计信息。
        名字
        版本
        主机名
        域名
        句柄计数
        进程计数
        线程计数
        建筑
        上次启动时间
        正常运行时间(以秒为单位)
        
    pg_sys_cpu_info 此接口允许用户获取 CPU 信息。
        供应商
        描述
        型号名称
        处理器类型
        逻辑处理器
        物理处理器
        内核数
        建筑
        时钟速度(以赫兹为单位)
        处理器类型
        中央处理器系列
        字节顺序
        L1d 高速缓存大小
        L1i 高速缓存大小
        L2 高速缓存大小
        L3 高速缓存大小
        
    pg_sys_cpu_usage_info 此接口允许用户获取 CPU 使用率信息。值是 CPU 在所有操作上花费的时间的百分比。
        处理用户模式正常进程所花费的时间百分比
        处理用户模式 niced 过程所花费的时间百分比
        在内核模式进程中花费的时间百分比
        在空闲模式下花费
2022-01-24 15:52:49    94    0    0
本次自定义安装在/home/pg12/pgsql下
*linux最好dash该bash,可见http://ivan.gold/blog/post/ivan/Debian%E7%B3%BBdash%E6%94%B9bash
1、pg源码下载
   https://www.postgresql.org/ftp/source/
   下载postgresql-12.7.tar.gz
   [root@centos home]# wget -c https://ftp.postgresql.org/pub/source/v12.7/postgresql-12.7.tar.gz
2、解压
   [root@centos home]# tar -zxvf postgresql-12.7.tar.gz
   [root@centos home]# cd postgresql-12.7
3、指定安装目录
   [root@centos postgresql-12.7]# ./configure --prefix=/home/pg12/pgsql
   [root@centos postgresql-12.7]# make
   [root@centos postgresql-12.7]# make install
   #在执行configure或make过程中,可能会有依赖错误,需要自己改正
   [root@centos postgresql-12.7]# cd /home/pg12/pgsql
   [root@centos pgsql]# ll
    rwxr-xr-x 2 postgres12 postgres12 4096 10月 27 10:04   bin
    drwxr-xr-x 6 postgres12 postgres12 4096 10月 27 10:04 include
    drwxr-xr-x 4 postgres12 postgres12 4096 10月 27 11:27 lib
    drwxr-xr-x 7 postgres12 postgres12 4096 10月 27 11:27 share
   #以上是主程序安装完毕,由于PostgreSQL是插件可扩展的,主程序安装完后,其实有好多实用功能是没有的,源码中自带了,但是没有安
2022-01-18 10:07:02    1    0    0
postgres=# help
You are using psql, the command-line interface to PostgreSQL.
Type:  \copyright  for distribution terms
       \h          for help with SQL commands
       \?          for help with psql commands
       \g          or terminate with semicolon to execute query
       \q          to quit
postgres=# \?
General
  \copyright             show PostgreSQL usage and distribution terms
  \crosstabview [COLUMNS] execute query and display results in crosstab
  \errverbose            show most recent error message at maximum verbosity
  \g [FILE] or ;         execute query (and send results to file or |pipe)
  \gdesc                 describe result of query, without executing it
  \gexec                 execute query, then execute each value in its result
  \gset [PREFIX]         execute query and store results in psql variables
  \gx [FILE]             as \g, but forces expanded output mode
  \q                     quit psql
  \watch [SEC]           execute query every SEC seconds
2021-11-04 17:20:41    40    1    0

1、数据库建表

        CREATE TABLE test_tab_jdbc_cursor (
            c_id varchar,
            c_name varchar,
            c_type varchar
        );
        INSERT INTO test_tab_jdbc_cursor VALUES ('c1', '1-name1', '1');
        INSERT INTO test_tab_jdbc_cursor VALUES ('c2', '1-name2', '1');
        INSERT INTO test_tab_jdbc_cursor VALUES ('c3', '1-name3', '1');
        INSERT INTO test_tab_jdbc_cursor VALUES ('c4', '2-name1', '2');
        INSERT INTO test_tab_jdbc_cursor VALUES ('c5', '2-name2', '2');
        INSERT INTO test_tab_jdbc_cursor VALUES ('c6', '2-name3', '2');

2、数据库建函数

CREATE OR REPLACE FUNCTION test_fun_jdbc_cursor(IN p_type varchar, INOUT re_code varchar, INOUT re_message varchar, INOUT re_cur refcursor)
RETURNS record
AS $BODY$
DECLARE v_r_code VARCHAR(30) DEFAULT 'PG-00000';
                 v_r_msg VARCHAR(2000) DEFAULT 'Success';
BEGIN
        open re_cur for SELECT c_id,c_name,c_type from test_tab_jdbc_cursor where c_type = p_type;
            re_code:=v_r_code;
            re_message:=

2021-10-27 15:17:52    103    0    0

书接上文:pg>编译安装-自定义安装目录 (ivan.gold)

1、下载

    https://pgxn.org/dist/orafce/

    这里使用最新版orafce-3.16.2.zip

2、安装

    root:

        1)解压

        unzip orafce-3.16.2.zip

        2)移动到pg安装目录的extension目录下

        mv -f orafce-3.16.2 /home/pg12/pgsql/share/extension

        3)这里使用postgres12用户编译,因此将pg安装目录属组给postgres12用户

        chown -R postgres12:postgres12 /home/pg12/pgsql

    su - postgres12

        cd /home/pg12/pgsql/share/extension/orafce-3.16.2

        make

        make install

        psql postgres postgres12

            postgres-# \dn

                   List of schemas

                  Name  |   Owner   

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

                 public | postgres12

           

            postgres=# create extension orafce;

           

            postgres=# \dn

                      List of schemas

                     Name     |   Owner   

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

                 dbms_alert   | postgres12

                 dbms_assert  | postgres12

                 dbms_output  | postg

2021-10-27 14:06:39    41    0    0

    查看当前文件夹在的文件使用ls -l,我们一般习惯了简写执行ll,但有时会报ll命令不存在,这是因为我们没配置自定义命令或自定义命令不生效导致的。    

    我们只需要在环境变量里添加一下内容即可:

    alias ls='ls $LS_OPTIONS'

    alias ll='ls $LS_OPTIONS -l'

    alias l='ls $LS_OPTIONS -lA'

    alias su='sudo su'

    同样其他命令也可以这样做,但是具体加到那个环境变量的配置文件里,需要根据自己的操作系统实际多尝试几次才行。

     如果是添加到系统级,则环境变量配置文件一般是:/etc/profile   /etc/bash.bashrc   /etc/bashrc;不同的操作系统可能需要放的文件不一样。

     如果是用户级,则环境变量配置文件一般是:~/.bash_profile   ~/.bashrc;当然不同的操作系统可能需要放的文件不一样。

2021-10-25 11:20:57    36    0    0

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

    --

    -- syscat.sql-

    --    sample queries to the system catalogs

    --

    --

    -- Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group

    -- Portions Copyright (c) 1994, Regents of the University of California

    --

    -- src/tutorial/syscat.source

    --

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

 

    --

    -- Sets the schema search path to pg_catalog first, so that we do not

    -- need to qualify every system object

    --

    SET search_path TO pg_catalog;

 

    -- The LIKE pattern language requires underscores to be escaped, so make

    -- sure the backslashes are not misinterpreted.

    SET standard_conforming_strings TO on;

 

    --

    -- lists the names of all database owners and the name of their database(s)

    --

    SELECT rolname, datname

      FROM pg_roles, pg_database

      WHERE pg_roles.oid = datdba

      ORDER BY rolname, datname;

 

    --

    -- l

1/4