برنامه نویسی

Huawei Cloud – GausDB – DEV Community

بسته Huawei Cloud GaussDB را خریداری کرده و به کنسول مدیریت دسترسی پیدا کنید. سپس از منوی خدمات، پایگاه داده و GaussDB را اتنخاب کنید.

برای ورود از راه دور به ECSS،ابتدا از محیط Xfce استفاده کنید و بر روی ترمینال Xfce کلیک کرده و دستور زیر را اجرا کنید تا به ECS وصل شوید:

ssh root@EIP

سپس بسته مشتری gsql را دانلود و از حالت فشرده خارج کنید و سرری کنید به فایل‌های داخل آن. سپس محتویات فایل را از حالت فشرده خارج کنید و وارد دایرکتوری شوید. سپس فایل GaussDB-Kernel-V500R001C20-EULER-64bit-gsql.tar.gz را به مسیر /opt/ کپی کنید و سپس به این مسیر وارد شوید و فایل را از حالت فشرده خارج کنید.

با دستور gsql از کلاینت gsql برای اتصال به پایگاه داده استفاده کنید و یک پایگاه داده به نام devdb با رمزعبور خود ایجاد کنید. سپس یک کاربر با نام hccdp و دسترسی SYSADMIN ایجاد کرده و یک جدول را در devdb ایجاد کنید. سپس با استفاده از مدیریت کاربران، کاربر jim را ایجاد کنید و مجوزهای مورد نیاز را به او اختصاص دهید. همچنین می‌توانید طرحواره‌ها و نقش‌ها را مدیریت کنید، اشیای پایگاه داده را ایجاد کنید، جلسات را مشاهده و حذف کنید، و یک روش ذخیره شده برای خروجی یک مقدار خاص در یک جدول جستجو ایجاد کنید. به این ترتیب، مدیریت اطلاعات و دسترسی به پایگاه داده GaussDB را آسان و بهینه کنید.

HUAWEI CLOUD GAUSDB

  1. خرید یک نمونه GaussDB(1) به کنسول مدیریت وارد شوید و لیست خدمات > پایگاه داده > GaussDB را انتخاب کنید.

توضیحات تصویر

توضیحات تصویر

توضیحات تصویر

  1. ورود از راه دور به ECSSمرحله 1: با استفاده از Xfce وارد ECS شوید. روی ترمینال Xfce روی دسکتاپ دوبار کلیک کنید و دستور زیر را برای ورود به ECS اجرا کنید:

ssh root@*EIP*

توضیحات تصویر

مرحله 2: بسته مشتری gsql را دانلود و از حالت فشرده خارج کنید.

wget https://dbs-download.obs.cn-north-1.myhuaweicloud.com/GaussDB/1642684986086/GaussDB_opengauss_client_tools.zip
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

unzip GaussDB_opengauss_client_tools.zip
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

cd /root/GaussDB_opengauss_client_tools/Euler2.5_X86_64
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

cp GaussDB-Kernel-V500R001C20-EULER-64bit-gsql.tar.gz /opt
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

cd /opt/
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

tar -zxvf GaussDB-Kernel-V500R001C20-EULER-64bit-gsql.tar.gz
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

source gsql_env.sh
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: از کلاینت gsql برای اتصال به پایگاه داده و ایجاد پایگاه داده و کاربر استفاده کنید. در دستور زیر، 192.168.0.72 آدرس IP گره اولیه GaussDB و رمز عبور شما است. در صورت نیاز آنها را تعویض کنید.

gsql -h 192.168.0.72 -d postgres -p 8000 -U root -W yourpassword -r
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

CREATE DATABASE devdb ENCODING 'UTF8' template = template0;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

\q
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

آدرس IP موجود در دستور را با یکی از گره های اولیه GaussDB جایگزین کنید.

gsql -h 192.168.0.72 -d devdb -p 8000 -U root -W yourpassword -r
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

CREATE USER hccdp SYSADMIN IDENTIFIED BY "yourpassword";
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

\q
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

دستور ورود آدرس IP موجود در دستور را با یکی از گره های اولیه GaussDB جایگزین کنید.

gsql -h 192.168.0.72 -d devdb -p 8000 -U hccdp -W yourpassword -r
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

\q
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. ایجاد، مشاهده، اصلاح یا حذف یک پایگاه داده مرحله 1: وارد یک پایگاه داده شوید. آدرس IP موجود در دستور را با یکی از گره های اولیه GaussDB جایگزین کنید.
cd /opt/
source gsql_env.sh
gsql -h 192.168.0.72 -d devdb -p 8000 -U hccdp -W yourpassword -r
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 2: پایگاه داده testdb را ایجاد کنید.

CREATE DATABASE testdb;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: مشاهده پایگاه های داده. روش 1: فهرست پایگاه داده را در کاتالوگ سیستم pg_database جستجو کنید.

SELECT datname FROM pg_database;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

روش 2: دستور \l را برای مشاهده لیست پایگاه داده سیستم پایگاه داده اجرا کنید.

\l
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 4: پایگاه داده را تغییر دهید. مسیر جستجوی پیش فرض پایگاه داده را تغییر دهید.

ALTER DATABASE testdb SET search_path TO pa_catalog,public;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

به پایگاه داده testdb بروید.

 \c testdb
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

رمز عبور پایگاه داده testdb را وارد کرده و دستور زیر را اجرا کنید تا بررسی کنید که آیا مسیر جستجو تغییر کرده است یا خیر.

show search_path;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 5: نام پایگاه داده را تغییر دهید. به پایگاه داده پیش فرض postgres بروید.

\c postgres
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برای تغییر نام testdb به testdb1 دستور زیر را اجرا کنید:

ALTER DATABASE testdb RENAME TO testdb1;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی کنید که آیا نام تغییر کرده است یا خیر.

 \l
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

مرحله 6: پایگاه داده را حذف کنید.

DROP DATABASE testdb1;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. ایجاد، مشاهده، اصلاح و حذف جداول Row-and Column-Store مرحله 1: یک جدول row-store ایجاد کنید.
CREATE TABLE PART
(
    P_PARTKEY     BIGINT NOT NULL,
    P_NAME        VARCHAR(55) NOT NULL,
    P_MFGR        CHAR(25) NOT NULL,
    P_BRAND       CHAR(10) NOT NULL,
    P_TYPE        VARCHAR(25) NOT NULL,
    P_SIZE        BIGINT NOT NULL,
    P_CONTAINER   CHAR(10) NOT NULL,
    P_RETAILPRICE DECIMAL(15,2) NOT NULL,
    P_COMMENT     VARCHAR(23) NOT NULL
)
WITH (ORIENTATION = ROW);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 2: یک جدول فروشگاه ستونی ایجاد کنید.

CREATE TABLE PART1
(
    P_PARTKEY     BIGINT NOT NULL,
    P_NAME        VARCHAR(55) NOT NULL,
    P_MFGR        CHAR(25) NOT NULL,
    P_BRAND       CHAR(10) NOT NULL,
    P_TYPE        VARCHAR(25) NOT NULL,
    P_SIZE        BIGINT NOT NULL,
    P_CONTAINER   CHAR(10) NOT NULL,
    P_RETAILPRICE DECIMAL(15,2) NOT NULL,
    P_COMMENT     VARCHAR(23) NOT NULL
)
WITH (ORIENTATION = COLUMN);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: اطلاعات جدول را مشاهده کنید

\d
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 4: ویژگی های جدول را با اضافه کردن یک ستون تغییر دهید.

ALTER TABLE part ADD COLUMN p_col1 bigint;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی کنید که آیا ستون اضافه شده است یا خیر.

 \d part
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 5: مقدار پیش فرض را در ستون اضافه کنید.

ALTER TABLE part ALTER COLUMN p_col1 SET DEFAULT 1;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی کنید که آیا مقدار پیش فرض اضافه شده است یا خیر.

\d part
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 6: مقدار پیش فرض را از ستون حذف کنید.

ALTER TABLE part ALTER COLUMN p_col1 drop DEFAULT ;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی کنید که آیا مقدار پیش فرض حذف شده است یا خیر.

\d part
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 7: نوع داده یک ستون را تغییر دهید.

ALTER TABLE part MODIFY p_col1 INT;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی کنید که آیا نوع داده تغییر کرده است یا خیر.

 \d part
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

مرحله 8: نام یک ستون را تغییر دهید.

ALTER TABLE part RENAME p_col1 to p_col;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی کنید که آیا نام ستون تغییر کرده است یا خیر.

\d part
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 9: یک ستون را حذف کنید. ستون p_col را از قسمت جدول حذف کنید.

ALTER TABLE part DROP COLUMN p_col;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی کنید که آیا ستون حذف شده است یا خیر.

\d part
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 10: جداول را حذف کنید. جدول PART را حذف کنید.

DROP TABLE PART;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

جدول PART1 را حذف کنید.

DROP TABLE PART1;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی کنید که آیا جداول حذف شده اند یا خیر.

\d
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. مدیریت کاربران مرحله 1: کاربر jim را ایجاد کنید. شما می توانید رمز عبور خود را تنظیم کنید، اما باید رمز عبور را به خاطر بسپارید.
CREATE USER jim PASSWORD 'yourpassword';
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 2: لیست کاربران را مشاهده کنید.

SELECT * FROM pg_user;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: کاربر dim را ایجاد کنید و اجازه ایجاد یک پایگاه داده را بدهید

CREATE USER dim CREATEDB PASSWORD 'yourpassword';
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 4: رمز ورود کاربر jim را از رمز عبور خود به رمز عبور دیگری تغییر دهید

ALTER USER jim IDENTIFIED BY 'yourpassword' REPLACE 'anotherpassword';
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 5: فرض کنید که جلسه اصلی A و جلسه جدید B است.

توضیحات تصویر

بررسی کنید که آیا رمز عبور در جلسه B تغییر کرده است یا خیر.
به دایرکتوری بروید و دستور gsql را اجرا کنید.

cd /opt/
source gsql_env.sh
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

دستور ورود آدرس IP موجود در دستور را با یکی از گره های اولیه GaussDB جایگزین کنید.

gsql -h 192.168.0.72 -d postgres -U jim -W yourpassword -p 8000 -r
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 6: به جلسه A برگردید و مجوز CREATEROLE را به کاربر jim بدهید.

ALTER USER jim CREATEROLE;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توجه: مراحل 7 و 8 را در جلسه A انجام دهید. مرحله 7: بررسی کنید که آیا مجوز داده شده است یا خیر.

\du jim
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

مرحله 8: حساب جیم را قفل کنید.

ALTER USER jim ACCOUNT LOCK;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 9: یک جلسه C ایجاد کنید، به عنوان user jim وارد شوید و بررسی کنید که آیا حساب قفل شده است یا خیر. به دایرکتوری بروید و دستور gsql را اجرا کنید.

cd /opt/
source gsql_env.sh
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

به عنوان کاربر jim وارد gsql شوید. آدرس IP موجود در دستور را با یکی از گره های اولیه GaussDB جایگزین کنید.

gsql -h 192.168.0.72 -d postgres -U jim -W yourpassword -p 8000 -r
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر اطلاعات زیر نمایش داده شود، کاربر jim قفل شده است:

توضیحات تصویر
مرحله 10: به جلسه A برگردید و حساب جیم را باز کنید.

ALTER USER jim ACCOUNT UNLOCK;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 11: به جلسه C برگردید، به عنوان user jim وارد شوید و بررسی کنید که آیا حساب باز شده است یا خیر. آدرس IP موجود در دستور را با یکی از گره های اولیه GaussDB جایگزین کنید.

gsql -h 192.168.0.72 -d postgres -U jim -W yourpassword -p 8000 -r
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. به جلسه A برگردید و جیم کاربر را حذف کنید.
DROP USER jim CASCADE;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. مدیریت طرحواره مرحله 1: ایجاد طرحواره ds.مدیریت Schema به چندین کاربر اجازه می دهد تا از یک پایگاه داده بدون تداخل با یکدیگر استفاده کنند. هر پایگاه داده می تواند یک یا چند طرحواره داشته باشد. هنگامی که کاربر در یک پایگاه داده ایجاد می شود، سیستم به طور خودکار یک طرحواره با همان نام کاربر
CREATE SCHEMA ds;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی کنید که آیا طرحواره ایجاد شده است یا خیر

\dn
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 2: نام schema را از ds به ds_new تغییر دهید.

ALTER SCHEMA ds RENAME TO ds_new;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی کنید که آیا نام طرحواره تغییر کرده است یا خیر.

\dn
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: جک کاربر ایجاد کنید.

CREATE USER jack PASSWORD 'yourpassword';
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 4: صاحب ds_new را به جک تغییر دهید

ALTER SCHEMA ds_new OWNER TO jack;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 5: مالک طرحواره را مشاهده کنید.

SELECT s.nspname,u.usename AS nspowner FROM pg_namespace s, pg_user u WHERE s.nspowner = u.usesysid;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 6: جک کاربر و schema ds_new را حذف کنید.

DROP SCHEMA ds_new;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

DROP USER jack;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. اعطای مجوزهای سیستم و مجوزهای شی به کاربران یا RolesStep 1: user joe را ایجاد کنید و مجوز sysadmin را به آن بدهید.
CREATE USER joe PASSWORD 'yourpassword';
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ALTER USER joe with sysadmin;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی کنید که آیا مجوز داده شده است یا خیر.

\du
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 2: مجوز sysadmin کاربر joe را لغو کنید، schema tpcds را ایجاد کنید و دلیل جدول را برای طرحواره ایجاد کنید.

ALTER USER joe with nosysadmin;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

CREATE SCHEMA tpcds;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

 CREATE TABLE tpcds.reason
(
    r_reason_sk            INTEGER               NOT NULL,
    r_reason_id            CHAR(16)              NOT NULL,
    r_reason_desc                VARCHAR(20)                  
);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فرض کنید که جلسه فعلی A و یک جلسه جدید B است. در جلسه B، به عنوان user joe به پایگاه داده متصل شوید و بررسی کنید که آیا user joe مجوز دلیل جدول در schema tpcds را دارد یا خیر.

cd /opt/
source gsql_env.sh
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

آدرس IP موجود در دستور را با یکی از گره های اولیه GaussDB جایگزین کنید.

gsql -h 192.168.0.174 -d postgres -p 8000 -U joe -W yourpassword -r
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی کنید که آیا کاربر جو مجوز دلیل جدول در schema tpcds را دارد یا خیر.

select * from tpcds.reason;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: به جلسه A برگردید و اجازه استفاده از schema tpcds و همه مجوزها را برای دلیل جدول به کاربر joe بدهید.

GRANT USAGE ON SCHEMA tpcds TO joe;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

GRANT ALL PRIVILEGES ON tpcds.reason TO joe;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

به جلسه B بروید و بررسی کنید که آیا کاربر joe مجوز دلیل جدول در schema tpcds را دارد یا خیر.

select * from tpcds.reason;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 4: به جلسه A برگردید و به جو اجازه پرس و جو برای پرس و جو از ستون های r_reason_sk، r_reason_id و r_reason_desc و اجازه به روز رسانی ستون r_reason_desc را در استدلال جدول در schema tpcds بدهید.

GRANT select (r_reason_sk,r_reason_id,r_reason_desc),update (r_reason_desc) ON tpcds.reason TO joe;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 5: اجازه اتصال و ایجاد طرحواره برای پایگاه داده postgres را به کاربر جو اعطا کنید و به این کاربر اجازه دهید این مجوزها را به کاربران دیگر اعطا کند.

GRANT create,connect on database postgres TO joe WITH GRANT OPTION;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

به جلسه B بروید و بررسی کنید که آیا کاربر جو مجوز پرس و جو و به روز رسانی دلیل جدول را در طرحواره tpcds دارد یا خیر. بررسی کنید که آیا مجوز پرس و جو وجود دارد یا خیر.

SELECT r_reason_sk,r_reason_id,r_reason_desc FROM tpcds.reason;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی کنید که آیا مجوز به‌روزرسانی وجود دارد یا خیر.

UPDATE tpcds.reason SET r_reason_desc="test";
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 6: به جلسه A برگردید، role tpcds_manager را ایجاد کنید، مجوزهای دسترسی و ایجاد نقش را در schema tpcds به این نقش اعطا کنید، اما اجازه ندهید این نقش این مجوزها را به دیگران اعطا کند.

CREATE ROLE tpcds_manager PASSWORD 'yourpassword';
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بررسی کنید که آیا نقش tpcds_manager اضافه شده است یا خیر

\du
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

GRANT USAGE,CREATE ON SCHEMA tpcds TO tpcds_manager;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 7: مدیر نقش ایجاد کنید، مجوزهای جو را به مدیر بدهید و به مدیر اجازه دهید این مجوزها را به دیگران اعطا کند.

CREATE ROLE manager PASSWORD 'yourpassword';
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

GRANT joe TO manager WITH ADMIN OPTION;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 8: نقش senior_manager را ایجاد کنید و مجوزهای مدیر را به senior_manager اعطا کنید.

CREATE USER senior_manager PASSWORD 'yourpassword';
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

GRANT manager TO senior_manager;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 9: لغو مجوزها و حذف کاربران.

DROP USER manager;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

REVOKE ALL PRIVILEGES ON tpcds.reason FROM joe;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

REVOKE ALL PRIVILEGES ON SCHEMA tpcds FROM joe;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

REVOKE USAGE,CREATE ON SCHEMA tpcds FROM tpcds_manager;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

DROP ROLE tpcds_manager;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

DROP USER senior_manager;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

DROP USER joe CASCADE;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. بررسی اینکه آیا یک شی از قبل وجود دارد یا نه قبل از ایجاد آن مرحله 1: قبل از ایجاد آن، بررسی کنید که آیا یک کاربر از قبل وجود دارد یا خیر.
SELECT usename FROM pg_user WHERE usename="dbtest";
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

CREATE USER dbtest WITH sysadmin PASSWORD 'yourpassword';
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 2: از پایگاه داده به عنوان کاربر hccdp خارج شوید و به عنوان کاربر جدید dbtest به پایگاه داده متصل شوید. از پایگاه داده فعلی خارج شوید.

\q
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

به عنوان dbtest کاربر به پایگاه داده devdb متصل شوید. آدرس IP موجود در دستور را با یکی از گره اصلی GaussDB جایگزین کنید.

gsql -h 192.168.0.174 -d postgres -p 8000 -U dbtest -W yourpassword -r
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: بررسی کنید که آیا طرحواره ایجاد شده است یا خیر.

SELECT nspname FROM pg_namespace WHERE nspname="dbtest";
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر طرحواره ای قبلا ایجاد شده باشد، هشدار زیر نمایش داده می شود.

CREATE SCHEMA dbtest;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

مرحله 4: قبل از ایجاد پایگاه داده بررسی کنید که آیا پایگاه داده از قبل وجود دارد یا خیر.

SELECT datname FROM pg_database WHERE datname="db_test";
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

CREATE DATABASE db_test;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 5: قبل از ایجاد جدول، بررسی کنید که آیا جدول از قبل وجود دارد یا خیر.

SELECT tablename FROM pg_tables WHERE schemaname="dbtest";
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

CREATE TABLE test (id int, name varchar(100));
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 6: تمام اشیاء ایجاد شده توسط کاربر فعلی را مشاهده کنید.

SELECT relname FROM pg_class WHERE relowner=(select usesysid from pg_user where usename="dbtest");
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 7: اشیاء پایگاه داده و کاربران را حذف کنید و سپس از پایگاه داده فعلی خارج شوید.

DROP TABLE test;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

DROP SCHEMA dbtest;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

DROP DATABASE db_test;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

\q
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. مشاهده و حذف جلسات مرحله 1: به عنوان کاربر hccdp وارد پایگاه داده شوید.
cd /opt/
source gsql_env.sh
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

آدرس IP موجود در دستور را با یکی از گره های اولیه GaussDB جایگزین کنید. رمز عبور همان رمزی است که شما تعیین کرده اید.

gsql -h 192.168.0.174 -d postgres -p 8000 -U hccdp -W yourpassword -r
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 4: pg_stat_activity را با استفاده از خواب جستجو کنید.

SELECT pid,usename,query FROM pg_stat_activity WHERE QUERY LIKE '%sleep%';
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

مرحله 5: از تابع pg_terminate_backend برای پایان دادن به جلسه استفاده کنید. توجه: در دستور زیر pid را با ارقام شکل قبل جایگزین کنید.

SELECT pg_terminate_backend(pid);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 6: رابط پوسته اصلی را مشاهده کنید. خطای زیر نمایش داده می شود:

توضیحات تصویر

  1. طراحی یک روش ذخیره شده برای خروجی یک مقدار خاص در یک جدول جستجو مرحله 1: یک جدول ایجاد کنید.
CREATE TABLE employee (id varchar(100),name varchar(100),salary int);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

CREATE TABLE ep_grade (id varchar(100),grade varchar(100),flag int);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 2: وارد کردن داده ها

Insert into employee values (1,'Sam',5000);
Insert into employee values (2,'Lucy',5000);
Insert into employee values(3,'Linda',5000);
Insert into employee values (4,'Jack',5000);
Insert into employee values (5,'Mary',5000);
Insert into employee values(6,'Alex',5000);
Insert into employee values(7,'Anna',5000);
Insert into employee values (8,'Peter',5000);
Insert into ep_grade values(1,'A',2022);
Insert into ep_grade values(2,'S',2021);
Insert into ep_grade values(3,'B',2021);
Insert into ep_grade values(4,'B',2021);
Insert into ep_grade values(5,'A',2021);
Insert into ep_grade values(6,'C',2022);
Insert into ep_grade values(7,'C',2021);
Insert into ep_grade values(8,'B',2022);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: عبارات قبلی را با توجه به ساختار رویه ذخیره شده یکپارچه کنید

CREATE OR REPLACE PROCEDURE proc_emp()
AS
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

(1) پارامترها را اعلام کنید.

DECLARE
   EP_ID VARCHAR(100);
   GRADE VARCHAR(10);
   SALARY INT;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

(2) مکان نما را اعلام کنید.

CURSOR C1 IS select distinct id,grade FROM ep_grade where Flag = 2021;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

3) یک دستور حلقه طراحی کنید.

BEGIN
   OPEN C1;
   LOOP
      FETCH C1 INTO EP_ID,GRADE;
      EXIT WHEN C1%NOTFOUND;
      Case GRADE 
      when 'S' 
         then update employee set salary = salary+1000 where id=EP_ID;
      when 'A'
         then update employee set salary = salary+500  where id=EP_ID;
      when 'B'
          then update employee set salary = salary+100 where id=EP_ID;
      when 'C'
          then update employee set salary = salary-200 where id=EP_ID;
      END Case;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

(4) خروجی محتوای رویه ذخیره شده را طراحی کنید.

DBE_OUTPUT.PRINT_LINE('ID: '||EP_ID||', Grade: '||GRADE||', updated.');
END LOOP;
CLOSE C1;
END;
/
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 4: فراخوانی یک روش ذخیره شده.

call proc_emp();
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا