分类 数据库 下的文章

PowerDesigner->Tools->Execute Commands->Edit/Run Scripts
将代码Copy进去执行就可以了

将Comment中的字符COPY至Name中

Option   Explicit 
ValidationMode   =   True 
InteractiveMode   =   im_Batch
 
Dim   mdl   '   the   current   model
 
'   get   the   current   active   model 
Set   mdl   =   ActiveModel 
If   (mdl   Is   Nothing)   Then 
  MsgBox   "There   is   no   current   Model " 
ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then 
  MsgBox   "The   current   model   is   not   an   Physical   Data   model. " 
Else 
  ProcessFolder   mdl 
End   If
 
Private   sub   ProcessFolder(folder) 
On Error Resume Next
  Dim   Tab   'running table 
  for   each   Tab   in   folder.tables 
if   not   tab.isShortcut   then 
  tab.name   =   tab.comment
  Dim   col   '   running   column 
  for   each   col   in   tab.columns 
  if col.comment="" then
  else
col.name=   col.comment 
  end if
  next 
end   if 
  next
 
  Dim   view   'running   view 
  for   each   view   in   folder.Views 
if   not   view.isShortcut   then 
  view.name   =   view.comment 
end   if 
  next
 
  '   go   into   the   sub-packages 
  Dim   f   '   running   folder 
  For   Each   f   In   folder.Packages 
if   not   f.IsShortcut   then 
  ProcessFolder   f 
end   if 
  Next 
end   sub

将Name中的字符COPY至Comment中

Option   Explicit 
ValidationMode   =   True 
InteractiveMode   =   im_Batch
 
Dim   mdl   '   the   current   model
 
'   get   the   current   active   model 
Set   mdl   =   ActiveModel 
If   (mdl   Is   Nothing)   Then 
      MsgBox   "There   is   no   current   Model " 
ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then 
      MsgBox   "The   current   model   is   not   an   Physical   Data   model. " 
Else 
      ProcessFolder   mdl 
End   If
 
'   This   routine   copy   name   into   comment   for   each   table,   each   column   and   each   view 
'   of   the   current   folder 
Private   sub   ProcessFolder(folder) 
      Dim   Tab   'running     table 
      for   each   Tab   in   folder.tables 
            if   not   tab.isShortcut   then 
                  tab.comment   =   tab.name 
                  Dim   col   '   running   column 
                  for   each   col   in   tab.columns 
                            col.comment=   col.name 
                  next 
            end   if 
      next
 
      Dim   view   'running   view 
      for   each   view   in   folder.Views 
            if   not   view.isShortcut   then 
                  view.comment   =   view.name 
            end   if 
      next
 
      '   go   into   the   sub-packages 
      Dim   f   '   running   folder 
      For   Each   f   In   folder.Packages 
            if   not   f.IsShortcut   then 
                  ProcessFolder   f 
            end   if 
      Next 
end   sub

将每个表的Code附加到Name前面,格式为:原Code + 空格 + 原Name

Option Explicit
ValidationMode = True
InteractiveMode = im_Batch

Dim mdl ' the current model

' get the current active model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
  MsgBox "There is no current Model"
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
  MsgBox "The current model is not an Physical Data model."
Else
  ProcessFolder mdl
End If

Private Sub ProcessFolder(folder)
On Error Resume Next
  Dim tab ' running table
  For Each tab In folder.tables
    If Not tab.isShortcut Then
      ' 将Code附加到Name前
      tab.name = tab.code & " " & tab.name
    End If
  Next
  
  ' 递归处理子包
  Dim f ' running folder
  For Each f In folder.Packages
    If Not f.IsShortcut Then
      ProcessFolder f
    End If
  Next
End Sub

只导出数据,带insert和字段

sudo -u postgres pg_dump -U postgres -d $1 --column-inserts --data-only -t 表名1  -t 表名2   -f $2.sql

导入

#!/bin/bash
sudo -u postgres psql -U postgres -d $1 < $2

不区分大小写索引建立

drop index ems.sys_user_user_name;
create unique index   cclv_player_user_name     on ems.sys_user USING btree (LOWER(user_name));

字段不区分大小写

sudo tee /etc/yum.repos.d/pgdg-redhat-all.repo > /dev/null <<EOF
[pgdg-common]
name=PostgreSQL common RPMs for RHEL / Rocky \$releasever - \$basearch
baseurl=https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-\$releasever-\$basearch
enabled=1
gpgcheck=0

[pgdg14]
name=PostgreSQL 14 for RHEL / Rocky \$releasever - \$basearch
baseurl=https://download.postgresql.org/pub/repos/yum/14/redhat/rhel-\$releasever-\$basearch
enabled=1
gpgcheck=0
EOF




sudo dnf makecache -y

sudo tee /etc/yum.repos.d/pgdg-redhat-all.repo > /dev/null <<EOF
[pgdg-common]
name=PostgreSQL common RPMs for RHEL / Rocky $releasever - $basearch
baseurl=https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-$releasever-$basearch
enabled=1
gpgcheck=1

[pgdg14]
name=PostgreSQL 14 for RHEL / Rocky $releasever - $basearch
baseurl=https://download.postgresql.org/pub/repos/yum/14/redhat/rhel-$releasever-$basearch
enabled=1
gpgcheck=1
EOF

sudo dnf install -y postgresql14-contrib

sudo -u postgres psql -d cclv_data -c "CREATE EXTENSION IF NOT EXISTS citext;"

ALTER TABLE ems.sys_user 
ALTER COLUMN user_name TYPE citext USING user_name::citext;

excel增加表分区SQL

excel文件:表分区创建.xlsx

添加表分区

#删除旧索引 并重命名
ALTER TABLE xdata_klines_5m DROP CONSTRAINT pk_okx_candles_1m;
ALTER TABLE xdata_klines_5m RENAME TO xdata_klines_5m_00;

create table xdata_klines_5m (
   b_id                 INT2                 not null default 0,
   t_uid                INT8                 not null default 0,
   o                    DECIMAL(20,10)       null default 0.00,
   h                    DECIMAL(20,10)       null default 0.00,
   l                    DECIMAL(20,10)       null default 0.00,
   c                    DECIMAL(20,10)       null default 0.00,
   vol                  DECIMAL(20,2)        null default 0.00,
   vol_b                DECIMAL(20,2)        null default 0.00,
   vol_u                DECIMAL(20,2)        null default 0.00,
   ts                   TIMESTAMP            null,
   constraint PK_OKX_KLINES_5M primary key (b_id, t_uid)
) partition by range (t_uid);

ALTER TABLE xdata_klines_5m  ATTACH PARTITION xdata_klines_5m_00 FOR VALUES FROM (MINVALUE) TO (8418861);

create table xdata_klines_5m_04 partition of xdata_klines_5m FOR VALUES FROM (8500321) TO (8629921);
create table xdata_klines_5m_05 partition of xdata_klines_5m FOR VALUES FROM (8500321) TO (8629921);
create table xdata_klines_5m_06 partition of xdata_klines_5m FOR VALUES FROM (8500321) TO (8629921);

后期增加表分区

ALTER TABLE xdata_klines_5m ATTACH PARTITION xdata_klines_5m_01 FOR VALUES FROM (MINVALUE) TO (8241121);
ALTER TABLE xdata_klines_5m ATTACH PARTITION xdata_klines_5m_02 FOR VALUES FROM (8241121) TO (8500321);
ALTER TABLE xdata_klines_5m ATTACH PARTITION xdata_klines_5m_03 FOR VALUES FROM (8500321) TO (8629921);

删除表分区

ALTER TABLE xdata_klines_5m DETACH PARTITION xdata_klines_5m_02;
ALTER TABLE xdata_klines_5m DETACH PARTITION xdata_klines_5m_03;