From 218a2fbd740bb0586cc641867c74791a58347723 Mon Sep 17 00:00:00 2001 From: spaceoddity91719 Date: Fri, 13 Oct 2023 10:37:53 +0800 Subject: [PATCH] =?UTF-8?q?update(mogdb):5.0.2=E6=96=B0=E7=89=B9=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../about-mogdb/mogdb-new-feature/5.0.2.md | 8 +- .../error-when-writing-illegal-characters.md | 93 +++++++ .../maintainability/pageinspect-pagehack.md | 254 ++++++++++++++++++ .../datastudio.md | 112 -------- .../use-gui-tools-to-access-mogdb.md | 1 - .../guc-parameters/guc-parameter-list.md | 1 + .../miscellaneous-parameters.md | 17 +- product/en/docs-mogdb/v5.0/toc.md | 3 +- .../v5.0/toc_characteristic_description.md | 2 + .../about-mogdb/mogdb-new-feature/5.0.2.md | 10 +- ...=> enhancement-of-wal-redo-performance.md} | 0 .../error-when-writing-illegal-characters.md | 93 +++++++ .../maintainability/pageinspect-pagehack.md | 254 ++++++++++++++++++ .../datastudio.md | 112 -------- .../use-gui-tools-to-access-mogdb.md | 1 - .../guc-parameters/guc-parameter-list.md | 1 + .../miscellaneous-parameters.md | 13 + product/zh/docs-mogdb/v5.0/toc.md | 6 +- .../v5.0/toc_characteristic_description.md | 6 +- 19 files changed, 745 insertions(+), 242 deletions(-) create mode 100644 product/en/docs-mogdb/v5.0/characteristic-description/maintainability/error-when-writing-illegal-characters.md create mode 100644 product/en/docs-mogdb/v5.0/characteristic-description/maintainability/pageinspect-pagehack.md delete mode 100644 product/en/docs-mogdb/v5.0/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/datastudio.md rename product/zh/docs-mogdb/v5.0/characteristic-description/high-performance/{enhancement-of-log-replay-performance.md => enhancement-of-wal-redo-performance.md} (100%) create mode 100644 product/zh/docs-mogdb/v5.0/characteristic-description/maintainability/error-when-writing-illegal-characters.md create mode 100644 product/zh/docs-mogdb/v5.0/characteristic-description/maintainability/pageinspect-pagehack.md delete mode 100644 product/zh/docs-mogdb/v5.0/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/datastudio.md diff --git a/product/en/docs-mogdb/v5.0/about-mogdb/mogdb-new-feature/5.0.2.md b/product/en/docs-mogdb/v5.0/about-mogdb/mogdb-new-feature/5.0.2.md index 8356da22..920a29d5 100644 --- a/product/en/docs-mogdb/v5.0/about-mogdb/mogdb-new-feature/5.0.2.md +++ b/product/en/docs-mogdb/v5.0/about-mogdb/mogdb-new-feature/5.0.2.md @@ -15,11 +15,11 @@ MogDB 5.0.2 is a patch version of MogDB 5.0.0, which is released on Sep 30 of 20 ## 2. New Features -1. The standby node table-level parallel replay performance has doubled. +1. [The standby node table-level parallel replay performance has doubled.](../../characteristic-description/high-performance/enhancement-of-wal-redo-performance.md) 2. Support binding variables in PL/SQL anonymous blocks within Java code. -3. Added a query function for the original statement when creating views. -4. Added error prompts when importing data that exceeds the database character encoding character set range. -5. Introduced the PageHack and PageInspect tools as new additions. +3. [Added a query function for the original statement when creating views.](../../characteristic-description/high-availability/ddl-query-of-view.md) +4. [Added error prompts when importing data that exceeds the database character encoding character set range.](../../characteristic-description/maintainability/error-when-writing-illegal-characters.md) +5. [Introduced the PageHack and PageInspect tools as new additions.](../../characteristic-description/maintainability/pageinspect-pagehack.md)
diff --git a/product/en/docs-mogdb/v5.0/characteristic-description/maintainability/error-when-writing-illegal-characters.md b/product/en/docs-mogdb/v5.0/characteristic-description/maintainability/error-when-writing-illegal-characters.md new file mode 100644 index 00000000..e8f4f514 --- /dev/null +++ b/product/en/docs-mogdb/v5.0/characteristic-description/maintainability/error-when-writing-illegal-characters.md @@ -0,0 +1,93 @@ +--- +title: Error When Writing Illegal Characters +summary: Error When Writing Illegal Characters +author: Guo Huan +date: 2023-09-25 +--- + +# Error When Writing Illegal Characters + +## Availability + +This feature is available since MogDB 5.0.2. + +## Introduction + +Supports error reporting for input data not conforming to encoding rules when the server and client character set encodings are the same. + +## Benefits + +Output illegal character set error message to facilitate users to repair the fault in time to ensure the normal operation of the system. + +## Description + +Currently, when the server-side and client-side encoding is the same, data written through JDBC and other means will be modified to '?' by default if illegal characters appear. and there is no prompt message, resulting in mismatch between the actual data written and the expected data. + +MogDB 5.0.2 version added session level USERSET type parameter emit_illegal_bind_chars, which is used to control whether to report error for illegal characters. The default value of this parameter is off, which is compatible with the behavior of the old version (no error reporting). Change the parameter value to on to enable error reporting. + +## Constraints + +This feature is only related to the server-side and client-side character set is consistent, through the JDBC and other client-side PBE mode execution and the number of parameters is greater than 0, illegal characters in the parameters to report an error, the following cases are not within the scope of this feature: + +1. the character set is the same, but the number of parameters is 0, for the illegal characters in the statement, the current behavior is already an error. +2. statements executed via gsql, etc., where the behavior is already an error. +3. the behavior of the copy statement is controlled by COMPATIBLE_ILLEGAL_CHARS, which is out of the scope of this feature. +4. When the server-side and client-side character sets do not match, whether or not to report an error is determined by the conversion function, and is not within the scope of this feature. + +## Examples + +Create test database and table for use in subsequent DML statements. + +`````sql +CREATE DATABASE db_gbk TEMPLATE template0 encoding 'GBK' lc_ctype 'zh_CN.GBK' lc_collate 'zh_CN.GBK'; + +CREATE TABLE test (a integer,b character varying); +````` + +Using Go as an example, write code that connects to a database and executes a DML statement. + +```go +package main + +import ( + "database/sql" + "encoding/hex" + _ "github.com/lib/pq" +) + +func main() { + db, err: = sql.Open("postgres", "port=5434 user=test password=Qwer1234 dbname=db_gbk sslmode=disable") + checkErr(err) + defer db.Close() + _, err = db.Exec("set client_encoding = 'GBK'"); + checkErr(err) + _, err = db.Exec("set emit_illegal_bind_chars = on") + checkErr(err) + s: = "8139EF31" + b, _: = hex.DecodeString(s) + _, err = db.Exec("insert into test values ($1, $2)", 1, string(b)) + checkErr(err) +} + +func checkErr(err error) { + if err != nil { + panic(err) + } +} +``` + +An error was reported: + +`````go +panic: pq: invalid byte sequence for encoding "GBK": 0x81 0x39 + +goroutine 1 [running]: +main.checkErr(...) + /home/test/Documents/test_go/main.go:25 +main.main() + /home/test/Documents/test_go/main.go:20 +0x225 +````` + +## Related Pages + +[emit_illegal_bind_chars](../../reference-guide/guc-parameters/miscellaneous-parameters.md#emit_illegal_bind_chars) \ No newline at end of file diff --git a/product/en/docs-mogdb/v5.0/characteristic-description/maintainability/pageinspect-pagehack.md b/product/en/docs-mogdb/v5.0/characteristic-description/maintainability/pageinspect-pagehack.md new file mode 100644 index 00000000..4884d41b --- /dev/null +++ b/product/en/docs-mogdb/v5.0/characteristic-description/maintainability/pageinspect-pagehack.md @@ -0,0 +1,254 @@ +--- +title: Support For Pageinspect & Pagehack +summary: Support For Pageinspect & Pagehack +author: Guo Huan +date: 2023-10-07 +--- + +# Support For Pageinspect & Pagehack + +## Availability + +This feature is available since MogDB 5.0.2. + +## Introduction + +New pageinspect and pagehack tools are used to assist in locating related issues. pageinspect is an extension, after installation to create extension to use, pagehack is an executable tool, need to be installed on the command line to use. + +## Benefits + +The new tool is only available to front-line maintenance, testers, and developers for internal use in locating problems. + +## Description + +### pageinspect + +This extension implements in the row-store table (astore) scenario to view the data file and Btree index file related page content information, belongs to the online query (MogDB use case ALIVE), in the SQL side of the execution of the relevant commands to view the information. + +Pageinspect is an extension, you need to install manually, before installation, please download the released Toolkits in [official website download page](https://www.mogdb.io/downloads/mogdb/), unpack the corresponding files and copy them to the specified directory and change the permissions. Log in to the database and create the extension. + +```bash +# Unpack the toolkit with the root user +tar -xzvf Toolkits-5.0.2-Kylin-arm64.tar.gz + +# Use the database instance user (e.g., omm), go to the pageinspect folder under toolkits and copy the appropriate files to the specified directory +cd pageinspect/ +cp pageinspect--1.0.sql $GAUSSHOME/share/postgresql/extension +cp pageinspect.control $GAUSSHOME/share/postgresql/extension +cp pageinspect--unpackaged--1.0.sql $GAUSSHOME/share/postgresql/extension +cp pageinspect.so $GAUSSHOME/lib/postgresql + +# Modify permissions +cd $GAUSSHOME/share/postgresql/extension +chmod 644 pageinspect--1.0.sql pageinspect.control pageinspect--unpackaged--1.0.sql +cd $GAUSSHOME/lib/postgresql +chmod 755 pageinspect.so + +# Log into the database and create extension +gsql -r +CREATE EXTENSION pageinspect; +``` + +The extension provides several system functions to query using a fixed format with the following syntax: + +```sql +# View the contents of the heap data table +SELECT * FROM heap_page_iteme(get_raw_page('table_name','main',page_no)); +# View header information on a heap page +SELECT * FROM page_header(get_raw_page('table_name','main',page_no)); +# View meta page information +SELECT * FROM bt_metap('index_name'); +# View the contents of the specified index page number +SELECT * FROM bt_page_items('index_name', page_no); +``` + +### pagehack + +The pagehack tool is used to parse offline files generated by row-store tables and BTree indexes created in MogDB instances. Pagehack is a binary executable tool executed directly on the terminal command line, with parameters for the files to be parsed (row-store tables and BTree index files are supported), displaying the specific data content of the page in the file. This tool needs to be installed manually, the method is as follows: + +```bash +# Unpack the toolkit with the root user +tar -xzvf Toolkits-5.0.2-Kylin-arm64.tar.gz + +# Use the database instance user (e.g., omm), go to the pagehack folder under toolkits and copy the appropriate files to the specified directory +cd pagehack/ +cp pagehack $GAUSSHOME/bin +cp pagehack.so $GAUSSHOME/lib/postgresql + +# Modify permissions +cd $GAUSSHOME/bin +chmod 755 pagehack +cd $GAUSSHOME/lib/postgresql +chmod 755 pagehack.so +``` + +Once the installation is complete, execute the following command directly to use the tool: + +```bash +pagehack -f [filename] +``` + +## Examples + +### pageinspect + +```sql +# Create the pageinspect extension, then create a row-store table and a BTree index, and insert some data into the table. +MogDB=# CREATE EXTENSION pageinspect; +CREATE EXTENSION +MogDB=# CREATE TABLE t(id int, a text); +CREATE TABLE +MogDB=# CREATE INDEX idx_id on t(id); +CREATE INDEX +MogDB=# INSERT INTO t SELECT num, repeat('ABCD', 8) || num from generate_series(1, 500) as num; +INSERT 0 500 +MogDB=# SELECT * FROM t LIMIT 32; + id | a +----+------------------------------------ + 1 | ABCDABCDABCDABCDABCDABCDABCDABCD1 + 2 | ABCDABCDABCDABCDABCDABCDABCDABCD2 + 3 | ABCDABCDABCDABCDABCDABCDABCDABCD3 + ...... + 32 | ABCDABCDABCDABCDABCDABCDABCDABCD32 +(32 rows) + +# View the contents of the heap data table +MogDB=# SELECT * FROM heap_page_items(get_raw_page('t','main',0)); + lp | lp_off | lp_flags | lp_len | t_xmin | t_xmax | t_field3 | t_ctid | t_infomask2 | t_infomask | t_hoff | t_bits | t_oid +-----+--------+----------+--------+--------+--------+----------+---------+-------------+------------+--------+--------+------- + 1 | 8128 | 1 | 62 | 14111 | 0 | 0 | (0,1) | 2 | 2306 | 24 | | + 2 | 8064 | 1 | 62 | 14111 | 0 | 0 | (0,2) | 2 | 2306 | 24 | | + 3 | 8000 | 1 | 62 | 14111 | 0 | 0 | (0,3) | 2 | 2306 | 24 | | + 4 | 7936 | 1 | 62 | 14111 | 0 | 0 | (0,4) | 2 | 2306 | 24 | | + 5 | 7872 | 1 | 62 | 14111 | 0 | 0 | (0,5) | 2 | 2306 | 24 | | + +# View header information on a heap page +MogDB=# SELECT * FROM page_header(get_raw_page('t','main',0)); + lsn | tli | flags | lower | upper | special | pagesize | version | prune_xid +-----------+-----+-------+-------+-------+---------+----------+---------+----------- + 0/C4DC510 | 0 | 0 | 516 | 576 | 8192 | 8192 | 6 | 14108 +(1 row) + +# View meta page information +MogDB=# SELECT * FROM bt_metap('idx_id'); + magic | version | root | level | fastroot | fastlevel +--------+---------+------+-------+----------+----------- + 340322 | 2 | 3 | 1 | 3 | 1 +(1 row) + +# View the contents of the specified index page number +MogDB=# SELECT * FROM bt_page_items('idx_id', 1); + itemoffset | ctid | itemlen | nulls | vars | data +------------+---------+---------+-------+------+------------------------- + 1 | (3,9) | 16 | f | f | 6e 01 00 00 00 00 00 00 + 2 | (0,1) | 16 | f | f | 01 00 00 00 00 00 00 00 + 3 | (0,2) | 16 | f | f | 02 00 00 00 00 00 00 00 + 4 | (0,3) | 16 | f | f | 03 00 00 00 00 00 00 00 + 5 | (0,4) | 16 | f | f | 04 00 00 00 00 00 00 00 +``` + +### pagehack + +```sql +# As in the previous example, the MogDB database instance has generated a row-store table/BTree index data file, and the data has been written to the file (if there is no disk you can force a checkpoint or create another table and insert data to make the transaction move forward). +# Get object OID +MogDB=# \d+ + List of relations + Schema | Name | Type | Owner | Size | Storage | Description +--------+------+-------+--------+-------+----------------------------------+------------- + public | t | table | omm | 72 kB | {orientation=row,compression=no} | +(1 row) + +MogDB=# \d+ t + Table "public.t" + Column | Type | Modifiers | Storage | Stats target | Description +--------+---------+-----------+----------+--------------+------------- + id | integer | | plain | | + a | text | | extended | | +Indexes: + "idx_id" btree (id) TABLESPACE pg_default +Has OIDs: no +Options: orientation=row, compression=no + +# Upon querying, table t has oid=17092 and index idx_id has oid=17098 +MogDB=# select pg_relation_filepath('t'); + pg_relation_filepath +---------------------- + base/15318/17092 +(1 row) + +MogDB=# select pg_relation_filepath('idx_id'); + pg_relation_filepath +---------------------- + base/15318/17098 +(1 row) + +# Execute the following command at the command line to parse the heap data of the row-store table +[omm@mogdb-kernel-001 toolkits]$ pagehack -f /opt/mogdb/data/base/15318/17092 | head -n 32 +page information of block 0/5 + pd_lsn: 0/C4DC510 + pd_checksum: 0xB4FA, verify success + pd_flags: + pd_lower: 516, non-empty + pd_upper: 576, old + pd_special: 8192, size 0 + Page size & version: 8192, 6 + pd_xid_base: 14108, pd_multi_base: 0 + pd_prune_xid: 14108 + + Heap tuple information on this page + + Tuple #1 is normal: length 62, offset 8128 + t_xmin/t_xmax/t_cid: 14111/0/0 + ctid:(block 0/0, offset 1) + t_infomask: HEAP_HASVARWIDTH HEAP_XMIN_COMMITTED HEAP_XMAX_INVALID HEAP_HAS_NO_UID + t_infomask2: Attrs Num: 2 + t_hoff: 24 + t_bits: + NNNNNNNN + + + Tuple #2 is normal: length 62, offset 8064 + t_xmin/t_xmax/t_cid: 14111/0/0 + ctid:(block 0/0, offset 2) + t_infomask: HEAP_HASVARWIDTH HEAP_XMIN_COMMITTED HEAP_XMAX_INVALID HEAP_HAS_NO_UID + t_infomask2: Attrs Num: 2 + t_hoff: 24 + t_bits: + NNNNNNNN + +# Parsing data from BTree indexes +[omm@mogdb-kernel-001 toolkits]$ pagehack -f /opt/mogdb/data/base/15318/17098 | head -n 32 +page information of block 0/4 + pd_lsn: 0/C4EBD58 + pd_checksum: 0xF9AA, verify success + pd_flags: + pd_lower: 48, non-empty + pd_upper: 8168, old + pd_special: 8168, size 24 + Page size & version: 8192, 5 + pd_xid_base: 8590274914, pd_multi_base: 4294967299 + pd_prune_xid: 8590274914 + + Heap tuple information on this page + + Tuple #1 is redirected: length 2, offset 12642 + Tuple #2 is unused + + Tuple #3 is unused + + Tuple #4 is unused + + Tuple #5 is unused + + Tuple #6 is unused + Summary (6 total): 5 unused, 0 normal, 0 dead + +Normal Heap Page, special space is 0 + +page information of block 1/4 + pd_lsn: 0/C4EBD58 + pd_checksum: 0x95F3, verify success + pd_flags: + pd_lower: 1488, non-empty +``` diff --git a/product/en/docs-mogdb/v5.0/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/datastudio.md b/product/en/docs-mogdb/v5.0/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/datastudio.md deleted file mode 100644 index bae04125..00000000 --- a/product/en/docs-mogdb/v5.0/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/datastudio.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: Use Data Studio to Access MogDB -summary: Use Data Studio to Access MogDB -author: Guo Huan -date: 2021-08-31 ---- - -# Use Data Studio to Access MogDB - -This document introduces how to access MogDB through Data Studio. - -
- -## Introduction - -**Data Studio** is an Integrated Development Environment (IDE) that helps database developers build the application conveniently. It supports essential features of the database. -This tool allows working with database objects with minimal programming knowledge. Data Studio provides you with various features, such as - -- creating and managing database objects -- executing SQL statements or SQL scripts -- editing and executing PL/SQL statements -- viewing the execution plan and cost through the GUI -- exporting table data - -The database objects that are created and managed include - -- database -- schema -- function -- procedure -- table -- sequence -- index -- view -- tablespace -- synonym - -It also provides SQL assistance for various queries/procedures/functions executed in the SQL Terminal and PL/SQL Viewer. - -
- -## System Requirements - -This section provides the minimum system requirements for using Data Studio. - -**Hardware Requirements** - -Table 1 Hardware Requirements for Data Studio - -| **Hardware Requirement** | **Configuration** | -| ------------ | ------------------------------------------------------------ | -| CPU | x86 64-bit | -| Available RAM | A minimum of 1 GB memory | -| Available hard disk | A minimum of 1 GB space reserved for Data Studio installation directory and 100 MB space reserved for user's HOME directory. | -|Network requirements|Gigabit Ethernet| - -**Operating System Requirements** - -The supported versions of Microsoft Windows running on a universal x86 server include Windows 7 (64-bit), Windows 10 (64-bit), Windows 2012 (64-bit), and Windows 2016 (64-bit). - -**Software Requirements** - -Java 1.8.0_181 or later - -> ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif) **Note:** -> -> * Please refer to [https://java.com/en/download/help/path.html](https://java.com/en/download/help/path.html) to set the Java Home path. -> * To ensure the optimal experience, the recommended minimum screen resolution is 1080 x 768. Below this resolution, the interface will be abnormal. - -
- -## Download and Installation - -The download address of Data Studio is as follows: - -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/quick-start/datastudio-2.png) - -After downloading, unzip the installation package and double-click **Data Studio.exe** to run the software. - -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/quick-start/use-gui-tools-to-access-mogdb-2.png) - -
- -## Connection String Configuration - -When the software is opened for the first time, the **New Database Connection** window will pop up, as shown in the figure below. - -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/quick-start/use-gui-tools-to-access-mogdb-15.png) - -You can also choose **File > New Connection** to open this window. - -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/quick-start/use-gui-tools-to-access-mogdb-16.png) - -Fill in the information on the **General** tab, and click **OK** to establish a database connection. - -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/quick-start/use-gui-tools-to-access-mogdb-17.png) - -
- -## Interface Display - -After a successful connection, the software interface is shown below, with examples of syntax and operation lists on the right. - -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/quick-start/use-gui-tools-to-access-mogdb-18.png) - -
- -## Follow-Up Procedure - -If you want to learn more about the usage instructions of Data Studio, please choose **Help > User Manual**, or visit the following page to browse the official documents online: [Data Studio User Manual](https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.0.0/Data%20Studio%20User%20Manual.pdf). - -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/quick-start/use-gui-tools-to-access-mogdb-19.png) diff --git a/product/en/docs-mogdb/v5.0/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/use-gui-tools-to-access-mogdb.md b/product/en/docs-mogdb/v5.0/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/use-gui-tools-to-access-mogdb.md index db30f9af..187066ba 100644 --- a/product/en/docs-mogdb/v5.0/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/use-gui-tools-to-access-mogdb.md +++ b/product/en/docs-mogdb/v5.0/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/use-gui-tools-to-access-mogdb.md @@ -7,6 +7,5 @@ date: 2023-05-22 # Use GUI Tools To Access MogDB -+ **[Data Studio](datastudio.md)** + **[DBeaver](dbeaver.md)** + **[Mogeaver](mogeaver-usage.md)** \ No newline at end of file diff --git a/product/en/docs-mogdb/v5.0/reference-guide/guc-parameters/guc-parameter-list.md b/product/en/docs-mogdb/v5.0/reference-guide/guc-parameters/guc-parameter-list.md index 3de3f16b..f7c55a8f 100644 --- a/product/en/docs-mogdb/v5.0/reference-guide/guc-parameters/guc-parameter-list.md +++ b/product/en/docs-mogdb/v5.0/reference-guide/guc-parameters/guc-parameter-list.md @@ -228,6 +228,7 @@ date: 2022-05-26 | [effective_cache_size](../../reference-guide/guc-parameters/query-planning/optimizer-cost-constants.md#effective_cache_size) | | [effective_io_concurrency](../../reference-guide/guc-parameters/resource-consumption/asynchronous-io-operations.md#effective_io_concurrency) | | [elastic_search_ip_addr](security-configuration.md#elastic_search_ip_addr) | +| [emit_illegal_bind_chars](miscellaneous-parameters.md#emit_illegal_bind_chars) | | [enable_absolute_tablespace](../../reference-guide/guc-parameters/query-planning/optimizer-method-configuration.md#enable_absolute_tablespace) | | [enable_access_server_directory](../../reference-guide/guc-parameters/auditing/operation-audit.md#enable_access_server_directory) | | [enable_adio_debug](../../reference-guide/guc-parameters/resource-consumption/asynchronous-io-operations.md#enable_adio_debug) | diff --git a/product/en/docs-mogdb/v5.0/reference-guide/guc-parameters/miscellaneous-parameters.md b/product/en/docs-mogdb/v5.0/reference-guide/guc-parameters/miscellaneous-parameters.md index 205cf44c..413e2d2f 100644 --- a/product/en/docs-mogdb/v5.0/reference-guide/guc-parameters/miscellaneous-parameters.md +++ b/product/en/docs-mogdb/v5.0/reference-guide/guc-parameters/miscellaneous-parameters.md @@ -251,6 +251,19 @@ This parameter is a SIGHUP parameter. Set it based on instructions provided in T **Value range**: [true, false] - true: Views are decoupled from their dependencies and support updating view dependencies individually. -- false: Behavior is kept forward compatible, i.e., modifying view dependencies will result in an erro +- false: Behavior is kept forward compatible, i.e., modifying view dependencies will result in an error -**Default value**: false \ No newline at end of file +**Default value**: false + +## emit_illegal_bind_chars + +**Parameter description**: This parameter is used to control whether or not to report errors for illegal characters. + +This parameter is a USERSET parameter. Set it based on instructions provided in Table 1 [GUC parameters](appendix.md). + +**Value range**: Boolean + +- on: indicates that errors are reported for illegal characters +- off: indicates no error reporting + +**Default value**: off \ No newline at end of file diff --git a/product/en/docs-mogdb/v5.0/toc.md b/product/en/docs-mogdb/v5.0/toc.md index 20fd92f3..1b09c56d 100644 --- a/product/en/docs-mogdb/v5.0/toc.md +++ b/product/en/docs-mogdb/v5.0/toc.md @@ -28,7 +28,6 @@ + [gsql](/quick-start/mogdb-access/use-cli-to-access-mogdb/gsql.md) + [pgcli](/quick-start/mogdb-access/use-cli-to-access-mogdb/pgcli.md) + [Use GUI to Access MogDB](/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/use-gui-tools-to-access-mogdb.md) - + [Data Studio](/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/datastudio.md) + [DBeaver](/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/dbeaver.md) + [Mogeaver](/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/mogeaver-usage.md) + [Use Middleware to Access MogDB](/quick-start/mogdb-access/use-middleware-to-access-mogdb/use-middleware-to-access-mogdb.md) @@ -101,6 +100,8 @@ + [SQL PATCH](/characteristic-description/maintainability/sql-patch.md) + [Lightweight Lock Export and Analysis](./characteristic-description/maintainability/light-lock-export-and-analysis.md) + [DCF Module Tracing](./characteristic-description/maintainability/dcf-module-tracing.md) + + [Error When Writing Illegal Characters](./characteristic-description/maintainability/error-when-writing-illegal-characters.md) + + [Support For Pageinspect & Pagehack](./characteristic-description/maintainability/pageinspect-pagehack.md) + [Compatibility](/characteristic-description/compatibility/compatibility.md) + [Add %rowtype Attribute To The View](/characteristic-description/compatibility/add-rowtype-attribute-to-the-view.md) + [Aggregate Functions Distinct Performance Optimization](/characteristic-description/compatibility/aggregate-functions-distinct-performance-optimization.md) diff --git a/product/en/docs-mogdb/v5.0/toc_characteristic_description.md b/product/en/docs-mogdb/v5.0/toc_characteristic_description.md index 9c41b47f..699d6cc9 100644 --- a/product/en/docs-mogdb/v5.0/toc_characteristic_description.md +++ b/product/en/docs-mogdb/v5.0/toc_characteristic_description.md @@ -61,6 +61,8 @@ + [SQL PATCH](/characteristic-description/maintainability/sql-patch.md) + [Lightweight Lock Export and Analysis](./characteristic-description/maintainability/light-lock-export-and-analysis.md) + [DCF Module Tracing](./characteristic-description/maintainability/dcf-module-tracing.md) + + [Error When Writing Illegal Characters](./characteristic-description/maintainability/error-when-writing-illegal-characters.md) + + [Support For Pageinspect & Pagehack](./characteristic-description/maintainability/pageinspect-pagehack.md) + [Compatibility](/characteristic-description/compatibility/compatibility.md) + [Add %rowtype Attribute To The View](/characteristic-description/compatibility/add-rowtype-attribute-to-the-view.md) + [Aggregate Functions Distinct Performance Optimization](/characteristic-description/compatibility/aggregate-functions-distinct-performance-optimization.md) diff --git a/product/zh/docs-mogdb/v5.0/about-mogdb/mogdb-new-feature/5.0.2.md b/product/zh/docs-mogdb/v5.0/about-mogdb/mogdb-new-feature/5.0.2.md index 71bb4fe4..66b3bbca 100644 --- a/product/zh/docs-mogdb/v5.0/about-mogdb/mogdb-new-feature/5.0.2.md +++ b/product/zh/docs-mogdb/v5.0/about-mogdb/mogdb-new-feature/5.0.2.md @@ -15,11 +15,11 @@ MogDB 5.0.2是MogDB 5.0.0的补丁版本,于2023-09-30发布,其在MogDB 5.0 ## 2. 新增特性 -1. 备机表级并行回放性能提升1倍 -2. 支持java代码中plsql匿名块绑定变量 -3. 增加了视图创建时原始语句的查询功能 -4. 增加导入超过数据库编码字符集范围的数据时报错提示 -5. 新增pagehack pageinspect工具 +1. [备机表级并行回放性能提升1倍](../../characteristic-description/high-performance/enhancement-of-wal-redo-performance.md) +2. 支持JAVA代码中PL/SQL匿名块绑定变量 +3. [增加了视图创建时原始语句的查询功能](../../characteristic-description/high-availability/ddl-query-of-view.md) +4. [增加导入超过数据库编码字符集范围的数据时报错提示](../../characteristic-description/maintainability/error-when-writing-illegal-characters.md) +5. [新增pagehack和pageinspect工具](../../characteristic-description/maintainability/pageinspect-pagehack.md)
diff --git a/product/zh/docs-mogdb/v5.0/characteristic-description/high-performance/enhancement-of-log-replay-performance.md b/product/zh/docs-mogdb/v5.0/characteristic-description/high-performance/enhancement-of-wal-redo-performance.md similarity index 100% rename from product/zh/docs-mogdb/v5.0/characteristic-description/high-performance/enhancement-of-log-replay-performance.md rename to product/zh/docs-mogdb/v5.0/characteristic-description/high-performance/enhancement-of-wal-redo-performance.md diff --git a/product/zh/docs-mogdb/v5.0/characteristic-description/maintainability/error-when-writing-illegal-characters.md b/product/zh/docs-mogdb/v5.0/characteristic-description/maintainability/error-when-writing-illegal-characters.md new file mode 100644 index 00000000..8b0b9193 --- /dev/null +++ b/product/zh/docs-mogdb/v5.0/characteristic-description/maintainability/error-when-writing-illegal-characters.md @@ -0,0 +1,93 @@ +--- +title: 写入不合法字符报错 +summary: 写入不合法字符报错 +author: Guo Huan +date: 2023-09-25 +--- + +# 写入不合法字符报错 + +## 可获得性 + +本特性自MogDB 5.0.2版本开始引入。 + +## 特性简介 + +支持在服务端和客户端字符集编码一致时,针对输入的数据不符合编码规则的情况进行报错。 + +## 客户价值 + +输出非法字符集报错信息,方便用户及时修复故障,保证系统正常运行。 + +## 特性描述 + +当前在服务端和客户端编码一致时,通过JDBC等方式写入的数据,如果出现非法字符,会被默认修改为 ‘?’ 存储,且没有提示信息,导致实际写入数据与期望数据不匹配。 + +MogDB 5.0.2版本新增session级别USERSET类型参数emit_illegal_bind_chars,用于控制是否针对不合法字符进行报错。该参数默认值为off,兼容旧版本行为(不报错)。修改参数值为on,即可开启报错功能。 + +## 特性约束 + +本特性仅涉及在服务端和客户端字符集一致的情况下,通过JDBC等客户端里PBE模式执行且参数个数大于0,参数中出现非法字符时报错,以下情形不在此特性范围内: + +1. 字符集一致,但参数个数为0,针对语句中出现的非法字符,目前行为已经是报错 +2. 通过gsql等方式执行的语句,目前行为已经是报错 +3. copy语句的行为由COMPATIBLE_ILLEGAL_CHARS控制,不在此特性范围内 +4. 服务端和客户端字符集不一致时,是否报错由转换函数决定,不在此特性范围内 + +## 示例 + +创建测试数据库、表,用以后续的DML语句使用。 + +`````sql +CREATE DATABASE db_gbk TEMPLATE template0 encoding 'GBK' lc_ctype 'zh_CN.GBK' lc_collate 'zh_CN.GBK'; + +CREATE TABLE test (a integer,b character varying); +````` + +以Go为例,编写代码,连接到数据库,并执行DML语句。 + +```go +package main + +import ( + "database/sql" + "encoding/hex" + _ "github.com/lib/pq" +) + +func main() { + db, err: = sql.Open("postgres", "port=5434 user=test password=Qwer1234 dbname=db_gbk sslmode=disable") + checkErr(err) + defer db.Close() + _, err = db.Exec("set client_encoding = 'GBK'"); + checkErr(err) + _, err = db.Exec("set emit_illegal_bind_chars = on") + checkErr(err) + s: = "8139EF31" + b, _: = hex.DecodeString(s) + _, err = db.Exec("insert into test values ($1, $2)", 1, string(b)) + checkErr(err) +} + +func checkErr(err error) { + if err != nil { + panic(err) + } +} +``` + +执行报错: + +`````go +panic: pq: invalid byte sequence for encoding "GBK": 0x81 0x39 + +goroutine 1 [running]: +main.checkErr(...) + /home/test/Documents/test_go/main.go:25 +main.main() + /home/test/Documents/test_go/main.go:20 +0x225 +````` + +## 相关页面 + +[emit_illegal_bind_chars](../../reference-guide/guc-parameters/miscellaneous-parameters.md#emit_illegal_bind_chars) \ No newline at end of file diff --git a/product/zh/docs-mogdb/v5.0/characteristic-description/maintainability/pageinspect-pagehack.md b/product/zh/docs-mogdb/v5.0/characteristic-description/maintainability/pageinspect-pagehack.md new file mode 100644 index 00000000..a2465f64 --- /dev/null +++ b/product/zh/docs-mogdb/v5.0/characteristic-description/maintainability/pageinspect-pagehack.md @@ -0,0 +1,254 @@ +--- +title: 支持pageinspect和pagehack工具 +summary: 支持pageinspect和pagehack工具 +author: Guo Huan +date: 2023-10-07 +--- + +# 支持pageinspect和pagehack工具 + +## 可获得性 + +本特性自MogDB 5.0.2版本开始引入。 + +## 特性简介 + +新增pageinspect和pagehack工具用于辅助相关问题定位。pageinspect是一款插件(extension),安装后创建插件使用,pagehack是一个可执行工具,需安装后在命令行使用。 + +## 客户价值 + +新增工具仅提供给一线维护人员、测试人员以及开发人员用于定位问题内部使用。 + +## 特性描述 + +### pageinspect插件 + +本插件实现在行存表(astore)场景下查看数据文件和Btree索引文件相关page页面的相关内容信息,属于在线查询(MogDB用例alive),在SQL端执行相关命令查看信息。 + +pageinspect工具是一款插件(extension),需要手动安装,安装前请在[官网下载页面](https://www.mogdb.io/downloads/mogdb/)下载已发行的Toolkits工具包,解压后将相应的文件拷贝到指定目录下并修改权限,登录数据库并创建extension即可。 + +```bash +# 使用root用户解压缩工具包 +tar -xzvf Toolkits-5.0.2-Kylin-arm64.tar.gz + +# 使用数据库实例用户(如omm)进入toolkits下的pageinspect文件夹,拷贝相应的文件到指定目录 +cd pageinspect/ +cp pageinspect--1.0.sql $GAUSSHOME/share/postgresql/extension +cp pageinspect.control $GAUSSHOME/share/postgresql/extension +cp pageinspect--unpackaged--1.0.sql $GAUSSHOME/share/postgresql/extension +cp pageinspect.so $GAUSSHOME/lib/postgresql + +# 修改权限 +cd $GAUSSHOME/share/postgresql/extension +chmod 644 pageinspect--1.0.sql pageinspect.control pageinspect--unpackaged--1.0.sql +cd $GAUSSHOME/lib/postgresql +chmod 755 pageinspect.so + +# 登录数据库,创建extension +gsql -r +CREATE EXTENSION pageinspect; +``` + +该插件提供几个系统函数,使用固定格式进行查询,语法如下: + +```sql +# 查看heap数据表中内容 +SELECT * FROM heap_page_iteme(get_raw_page('table_name','main',page_no)); +# 查看heap页面的header信息 +SELECT * FROM page_header(get_raw_page('table_name','main',page_no)); +# 查看meta page信息 +SELECT * FROM bt_metap('index_name'); +# 查看指定索引page页面号的内容 +SELECT * FROM bt_page_items('index_name', page_no); +``` + +### pagehack工具 + +pagehack工具用于对MogDB实例中创建的行存表和BTree索引产生的离线文件进行解析。pagehack是一个二进制可执行工具,直接在终端命令行执行,参数为需要解析的文件(支持行存表和BTree索引文件),显示文件中page页面具体数据内容。本工具需手动安装,方法如下: + +```bash +# 使用root用户解压缩工具包 +tar -xzvf Toolkits-5.0.2-Kylin-arm64.tar.gz + +# 使用数据库实例用户(如omm)进入toolkits下的pagehack文件夹,拷贝相应的文件到指定目录 +cd pagehack/ +cp pagehack $GAUSSHOME/bin +cp pagehack.so $GAUSSHOME/lib/postgresql + +# 修改权限 +cd $GAUSSHOME/bin +chmod 755 pagehack +cd $GAUSSHOME/lib/postgresql +chmod 755 pagehack.so +``` + +安装完成后,直接执行以下命令即可使用工具: + +```bash +pagehack -f 文件名 +``` + +## 示例 + +### pageinspect + +```sql +# 创建pageinspect插件,然后创建行存表和BTree索引,在数据表中插入若干数据 +MogDB=# CREATE EXTENSION pageinspect; +CREATE EXTENSION +MogDB=# CREATE TABLE t(id int, a text); +CREATE TABLE +MogDB=# CREATE INDEX idx_id on t(id); +CREATE INDEX +MogDB=# INSERT INTO t SELECT num, repeat('ABCD', 8) || num from generate_series(1, 500) as num; +INSERT 0 500 +MogDB=# SELECT * FROM t LIMIT 32; + id | a +----+------------------------------------ + 1 | ABCDABCDABCDABCDABCDABCDABCDABCD1 + 2 | ABCDABCDABCDABCDABCDABCDABCDABCD2 + 3 | ABCDABCDABCDABCDABCDABCDABCDABCD3 + ...... + 32 | ABCDABCDABCDABCDABCDABCDABCDABCD32 +(32 rows) + +# 查看heap数据表中内容 +MogDB=# SELECT * FROM heap_page_items(get_raw_page('t','main',0)); + lp | lp_off | lp_flags | lp_len | t_xmin | t_xmax | t_field3 | t_ctid | t_infomask2 | t_infomask | t_hoff | t_bits | t_oid +-----+--------+----------+--------+--------+--------+----------+---------+-------------+------------+--------+--------+------- + 1 | 8128 | 1 | 62 | 14111 | 0 | 0 | (0,1) | 2 | 2306 | 24 | | + 2 | 8064 | 1 | 62 | 14111 | 0 | 0 | (0,2) | 2 | 2306 | 24 | | + 3 | 8000 | 1 | 62 | 14111 | 0 | 0 | (0,3) | 2 | 2306 | 24 | | + 4 | 7936 | 1 | 62 | 14111 | 0 | 0 | (0,4) | 2 | 2306 | 24 | | + 5 | 7872 | 1 | 62 | 14111 | 0 | 0 | (0,5) | 2 | 2306 | 24 | | + +# 查看heap页面的header信息 +MogDB=# SELECT * FROM page_header(get_raw_page('t','main',0)); + lsn | tli | flags | lower | upper | special | pagesize | version | prune_xid +-----------+-----+-------+-------+-------+---------+----------+---------+----------- + 0/C4DC510 | 0 | 0 | 516 | 576 | 8192 | 8192 | 6 | 14108 +(1 row) + +# 查看BTree索引的meta page信息 +MogDB=# SELECT * FROM bt_metap('idx_id'); + magic | version | root | level | fastroot | fastlevel +--------+---------+------+-------+----------+----------- + 340322 | 2 | 3 | 1 | 3 | 1 +(1 row) + +# 查看指定索引page页面号的内容 +MogDB=# SELECT * FROM bt_page_items('idx_id', 1); + itemoffset | ctid | itemlen | nulls | vars | data +------------+---------+---------+-------+------+------------------------- + 1 | (3,9) | 16 | f | f | 6e 01 00 00 00 00 00 00 + 2 | (0,1) | 16 | f | f | 01 00 00 00 00 00 00 00 + 3 | (0,2) | 16 | f | f | 02 00 00 00 00 00 00 00 + 4 | (0,3) | 16 | f | f | 03 00 00 00 00 00 00 00 + 5 | (0,4) | 16 | f | f | 04 00 00 00 00 00 00 00 +``` + +### pagehack + +```sql +# 如前示例,MogDB数据库实例已经生成行存表/BTree索引数据文件,而且数据已经写到文件中(如果没有下盘可以强制执行checkpoint或者创建其他表并插入数据使事务推进) +# 获取对象OID +MogDB=# \d+ + List of relations + Schema | Name | Type | Owner | Size | Storage | Description +--------+------+-------+--------+-------+----------------------------------+------------- + public | t | table | omm | 72 kB | {orientation=row,compression=no} | +(1 row) + +MogDB=# \d+ t + Table "public.t" + Column | Type | Modifiers | Storage | Stats target | Description +--------+---------+-----------+----------+--------------+------------- + id | integer | | plain | | + a | text | | extended | | +Indexes: + "idx_id" btree (id) TABLESPACE pg_default +Has OIDs: no +Options: orientation=row, compression=no + +# 查询到表t的oid=17092,索引idx_id的oid=17098 +MogDB=# select pg_relation_filepath('t'); + pg_relation_filepath +---------------------- + base/15318/17092 +(1 row) + +MogDB=# select pg_relation_filepath('idx_id'); + pg_relation_filepath +---------------------- + base/15318/17098 +(1 row) + +# 在命令行执行以下命令,解析行存表的heap数据 +[omm@mogdb-kernel-001 toolkits]$ pagehack -f /opt/mogdb/data/base/15318/17092 | head -n 32 +page information of block 0/5 + pd_lsn: 0/C4DC510 + pd_checksum: 0xB4FA, verify success + pd_flags: + pd_lower: 516, non-empty + pd_upper: 576, old + pd_special: 8192, size 0 + Page size & version: 8192, 6 + pd_xid_base: 14108, pd_multi_base: 0 + pd_prune_xid: 14108 + + Heap tuple information on this page + + Tuple #1 is normal: length 62, offset 8128 + t_xmin/t_xmax/t_cid: 14111/0/0 + ctid:(block 0/0, offset 1) + t_infomask: HEAP_HASVARWIDTH HEAP_XMIN_COMMITTED HEAP_XMAX_INVALID HEAP_HAS_NO_UID + t_infomask2: Attrs Num: 2 + t_hoff: 24 + t_bits: + NNNNNNNN + + + Tuple #2 is normal: length 62, offset 8064 + t_xmin/t_xmax/t_cid: 14111/0/0 + ctid:(block 0/0, offset 2) + t_infomask: HEAP_HASVARWIDTH HEAP_XMIN_COMMITTED HEAP_XMAX_INVALID HEAP_HAS_NO_UID + t_infomask2: Attrs Num: 2 + t_hoff: 24 + t_bits: + NNNNNNNN + +# 解析BTree索引的数据 +[omm@mogdb-kernel-001 toolkits]$ pagehack -f /opt/mogdb/data/base/15318/17098 | head -n 32 +page information of block 0/4 + pd_lsn: 0/C4EBD58 + pd_checksum: 0xF9AA, verify success + pd_flags: + pd_lower: 48, non-empty + pd_upper: 8168, old + pd_special: 8168, size 24 + Page size & version: 8192, 5 + pd_xid_base: 8590274914, pd_multi_base: 4294967299 + pd_prune_xid: 8590274914 + + Heap tuple information on this page + + Tuple #1 is redirected: length 2, offset 12642 + Tuple #2 is unused + + Tuple #3 is unused + + Tuple #4 is unused + + Tuple #5 is unused + + Tuple #6 is unused + Summary (6 total): 5 unused, 0 normal, 0 dead + +Normal Heap Page, special space is 0 + +page information of block 1/4 + pd_lsn: 0/C4EBD58 + pd_checksum: 0x95F3, verify success + pd_flags: + pd_lower: 1488, non-empty +``` diff --git a/product/zh/docs-mogdb/v5.0/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/datastudio.md b/product/zh/docs-mogdb/v5.0/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/datastudio.md deleted file mode 100644 index 1a0c108a..00000000 --- a/product/zh/docs-mogdb/v5.0/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/datastudio.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: 使用Data Studio访问MogDB -summary: 使用Data Studio访问MogDB -author: Guo Huan -date: 2022-03-15 ---- - -# 使用Data Studio访问MogDB - -本文档介绍如何通过图形化工具Data Studio访问MogDB数据库。 - -
- -## 工具介绍 - -Data Studio是一个集成开发环境(IDE),帮助数据库开发人员便捷地构建应用程序,以图形化界面形式提供数据库关键特性。数据库开发人员仅需掌握少量的编程知识,即可使用该工具进行数据库对象操作。 -Data Studio提供丰富多样的特性,例如: - -- 创建和管理数据库对象 -- 执行SQL语句/脚本 -- 编辑和执行PL/SQL语句 -- 图形化查看执行计划和开销 -- 导出表数据等 - -创建和管理数据库对象,包括: - -- 数据库 -- 模式 -- 函数 -- 过程 -- 表 -- 序列 -- 索引 -- 视图 -- 表空间 -- 同义词 - -Data Studio还提供SQL助手用于在SQL终端和PL/SQLViewer中执行各种查询/过程/函数。 - -
- -## 系统要求 - -本节介绍使用Data Studio的最低系统要求。 - -**硬件要求** - -表1 Data Studio硬件要求 - -| **硬件要求** | **配置** | -| ------------ | ------------------------------------------------------------ | -| CPU | x86 64位 | -| 可用内存 | 至少1GB内存 | -| 可用硬盘 | Data Studio安装目录需要至少1GB空间,用户HOME目录需要至少100MB空间 | -| 网络 | 千兆以太网 | - -**操作系统要求** - -运行在通用x86服务器上的Microsoft Windows系统,版本包括Windows 7 (64 位)、Windows 10 (64 位)、Windows 2012 (64 位)、Windows 2016 (64 位)。 - -**软件要求** - -Java 1.8.0_181或更高版本。 - -> ![img](https://cdn-mogdb.enmotech.com/docs-media/icon/icon-note.gif) **说明**: -> -> * 请参阅[https://java.com/en/download/help/path.xml](https://java.com/en/download/help/path.xml)以设置Java Home路径。 -> * 保证最佳体验的情况下,推荐的最小屏幕分辨率是1080 x 768。低于此分辨率,界面会异常。 - -
- -## 下载安装 - -Data Studio的下载地址如下: - -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/quick-start/datastudio-1.png) - -下载完成后解压安装包,双击**Data Studio.exe**即可运行软件。 - -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/quick-start/use-gui-tools-to-access-mogdb-2.png) - -
- -## 配置连接串 - -首次打开软件会弹出“**新建/选择数据库连接**”窗口,如下图所示。 - -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/quick-start/use-gui-tools-to-access-mogdb-3.png) - -您也可以点击“**文件 -> 新建连接**”打开此窗口。 - -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/quick-start/use-gui-tools-to-access-mogdb-4.png) - -填写右侧“**通用**”标签页中的各项信息,点击“**确定**”,即可建立数据库连接。 - -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/quick-start/use-gui-tools-to-access-mogdb-5.png) - -
- -## 界面展示 - -连接成功后的界面如下所示,右侧有语法和操作列表示例。 - -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/quick-start/use-gui-tools-to-access-mogdb-6.png) - -
- -## 后续步骤 - -如需了解更多关于Data Studio的使用说明,请点击“**帮助 -> 用户手册**”,或访问以下页面在线浏览官方文档:[Data Studio用户手册](https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.0.0/Data%20Studio%20%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C.pdf)。 - -![img](https://cdn-mogdb.enmotech.com/docs-media/mogdb/quick-start/use-gui-tools-to-access-mogdb-7.png) diff --git a/product/zh/docs-mogdb/v5.0/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/use-gui-tools-to-access-mogdb.md b/product/zh/docs-mogdb/v5.0/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/use-gui-tools-to-access-mogdb.md index 209807db..da931f48 100644 --- a/product/zh/docs-mogdb/v5.0/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/use-gui-tools-to-access-mogdb.md +++ b/product/zh/docs-mogdb/v5.0/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/use-gui-tools-to-access-mogdb.md @@ -7,6 +7,5 @@ date: 2023-05-22 # 使用图形工具访问MogDB -+ **[Data Studio](datastudio.md)** + **[DBeaver](dbeaver.md)** + **[Mogeaver](mogeaver-usage.md)** \ No newline at end of file diff --git a/product/zh/docs-mogdb/v5.0/reference-guide/guc-parameters/guc-parameter-list.md b/product/zh/docs-mogdb/v5.0/reference-guide/guc-parameters/guc-parameter-list.md index 43ef3855..4681eb07 100644 --- a/product/zh/docs-mogdb/v5.0/reference-guide/guc-parameters/guc-parameter-list.md +++ b/product/zh/docs-mogdb/v5.0/reference-guide/guc-parameters/guc-parameter-list.md @@ -229,6 +229,7 @@ date: 2023-04-07 | [effective_cache_size](../../reference-guide/guc-parameters/query-planning/optimizer-cost-constants.md#effective_cache_size) | | [effective_io_concurrency](../../reference-guide/guc-parameters/resource-consumption/asynchronous-io-operations.md#effective_io_concurrency) | | [elastic_search_ip_addr](security-configuration.md#elastic_search_ip_addr) | +| [emit_illegal_bind_chars](miscellaneous-parameters.md#emit_illegal_bind_chars) | | [enable_absolute_tablespace](../../reference-guide/guc-parameters/query-planning/optimizer-method-configuration.md#enable_absolute_tablespace) | | [enable_access_server_directory](../../reference-guide/guc-parameters/auditing/operation-audit.md#enable_access_server_directory) | | [enable_adio_debug](../../reference-guide/guc-parameters/resource-consumption/asynchronous-io-operations.md#enable_adio_debug) | diff --git a/product/zh/docs-mogdb/v5.0/reference-guide/guc-parameters/miscellaneous-parameters.md b/product/zh/docs-mogdb/v5.0/reference-guide/guc-parameters/miscellaneous-parameters.md index b1c15ca1..7daf241d 100644 --- a/product/zh/docs-mogdb/v5.0/reference-guide/guc-parameters/miscellaneous-parameters.md +++ b/product/zh/docs-mogdb/v5.0/reference-guide/guc-parameters/miscellaneous-parameters.md @@ -258,3 +258,16 @@ date: 2021-04-20 - false:行为保持前向兼容,即修改视图依赖项时报错。 **默认值**:false + +## emit_illegal_bind_chars + +**参数说明**:用于控制是否针对不合法字符进行报错。 + +该参数属于USERSET类型参数,请参考表[GUC参数分类](appendix.md)中对应设置方法进行设置。 + +**取值范围**:布尔型 + +- on表示针对不合法字符进行报错 +- off表示不报错 + +**默认值**:off \ No newline at end of file diff --git a/product/zh/docs-mogdb/v5.0/toc.md b/product/zh/docs-mogdb/v5.0/toc.md index f5919c17..c81f69c0 100644 --- a/product/zh/docs-mogdb/v5.0/toc.md +++ b/product/zh/docs-mogdb/v5.0/toc.md @@ -28,7 +28,6 @@ + [gsql](/quick-start/mogdb-access/use-cli-to-access-mogdb/gsql.md) + [pgcli](/quick-start/mogdb-access/use-cli-to-access-mogdb/pgcli.md) + [使用图形工具访问MogDB](/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/use-gui-tools-to-access-mogdb.md) - + [Data Studio](/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/datastudio.md) + [DBeaver](/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/dbeaver.md) + [Mogeaver](/quick-start/mogdb-access/use-gui-tools-to-access-mogdb/mogeaver-usage.md) + [使用中间件访问MogDB](/quick-start/mogdb-access/use-middleware-to-access-mogdb/use-middleware-to-access-mogdb.md) @@ -68,7 +67,7 @@ + [排序算子优化](/characteristic-description/high-performance/ordering-operator-optimization.md) + [OCK加速数据传输](/characteristic-description/high-performance/ock-accelerated-data-transmission.md) + [OCK SCRLock加速分布式锁](/characteristic-description/high-performance/ock-scrlock-accelerate-distributed-lock.md) - + [日志回放性能增强](/characteristic-description/high-performance/enhancement-of-log-replay-performance.md) + + [日志回放性能增强](/characteristic-description/high-performance/enhancement-of-wal-redo-performance.md) + [高可用](/characteristic-description/high-availability/high-availability.md) + [主备机](/characteristic-description/high-availability/1-primary-standby.md) + [逻辑复制](/characteristic-description/high-availability/2-logical-replication.md) @@ -88,6 +87,7 @@ + [支持备机build备机](/characteristic-description/high-availability/16-using-a-standby-node-to-build-a-standby-node.md) + [两地三中心跨Region容灾](/characteristic-description/high-availability/17-two-city-three-dc-dr.md) + [CM集群支持两节点部署](/characteristic-description/high-availability/cm-cluster-management-component-supporting-two-node-deployment.md) + + [视图原始DDL语句查询](/characteristic-description/high-availability/ddl-query-of-view.md) + [维护性](/characteristic-description/maintainability/maintainability.md) + [灰度升级](/characteristic-description/maintainability/1-gray-upgrade.md) + [支持WDR诊断报告](/characteristic-description/maintainability/2-workload-diagnosis-report.md) @@ -100,6 +100,8 @@ + [支持SQL PATCH](/characteristic-description/maintainability/sql-patch.md) + [轻量级锁导出与分析](./characteristic-description/maintainability/light-lock-export-and-analysis.md) + [DCF模块追踪](./characteristic-description/maintainability/dcf-module-tracing.md) + + [写入不合法字符报错](./characteristic-description/maintainability/error-when-writing-illegal-characters.md) + + [支持pageinspect和pagehack工具](./characteristic-description/maintainability/pageinspect-pagehack.md) + [兼容性](/characteristic-description/compatibility/compatibility.md) + [视图增加%rowtype属性](/characteristic-description/compatibility/add-rowtype-attribute-to-the-view.md) + [聚合函数distinct性能优化](/characteristic-description/compatibility/aggregate-functions-distinct-performance-optimization.md) diff --git a/product/zh/docs-mogdb/v5.0/toc_characteristic_description.md b/product/zh/docs-mogdb/v5.0/toc_characteristic_description.md index 97b1dfc9..bf93f061 100644 --- a/product/zh/docs-mogdb/v5.0/toc_characteristic_description.md +++ b/product/zh/docs-mogdb/v5.0/toc_characteristic_description.md @@ -28,7 +28,7 @@ + [排序算子优化](/characteristic-description/high-performance/ordering-operator-optimization.md) + [OCK加速数据传输](/characteristic-description/high-performance/ock-accelerated-data-transmission.md) + [OCK SCRLock加速分布式锁](/characteristic-description/high-performance/ock-scrlock-accelerate-distributed-lock.md) - + [日志回放性能增强](/characteristic-description/high-performance/enhancement-of-log-replay-performance.md) + + [日志回放性能增强](/characteristic-description/high-performance/enhancement-of-wal-redo-performance.md) + [高可用](/characteristic-description/high-availability/high-availability.md) + [主备机](/characteristic-description/high-availability/1-primary-standby.md) + [逻辑复制](/characteristic-description/high-availability/2-logical-replication.md) @@ -43,7 +43,7 @@ + [延迟进入最大可用模式](/characteristic-description/high-availability/11-delaying-entering-the-maximum-availability-mode.md) + [并行逻辑解码](/characteristic-description/high-availability/12-parallel-logical-decoding.md) + [DCF](/characteristic-description/high-availability/13-dcf.md) - + [CM(Cluster Manager](/characteristic-description/high-availability/14-cm.md) + + [CM(Cluster Manager)](/characteristic-description/high-availability/14-cm.md) + [支持global syscache](/characteristic-description/high-availability/15-global-syscache.md) + [支持备机build备机](/characteristic-description/high-availability/16-using-a-standby-node-to-build-a-standby-node.md) + [两地三中心跨Region容灾](/characteristic-description/high-availability/17-two-city-three-dc-dr.md) @@ -61,6 +61,8 @@ + [支持SQL PATCH](/characteristic-description/maintainability/sql-patch.md) + [轻量级锁导出与分析](./characteristic-description/maintainability/light-lock-export-and-analysis.md) + [DCF模块追踪](./characteristic-description/maintainability/dcf-module-tracing.md) + + [写入不合法字符报错](./characteristic-description/maintainability/error-when-writing-illegal-characters.md) + + [支持pageinspect和pagehack工具](./characteristic-description/maintainability/pageinspect-pagehack.md) + [兼容性](/characteristic-description/compatibility/compatibility.md) + [视图增加%rowtype属性](/characteristic-description/compatibility/add-rowtype-attribute-to-the-view.md) + [聚合函数distinct性能优化](/characteristic-description/compatibility/aggregate-functions-distinct-performance-optimization.md) -- Gitee