sandynz opened a new issue, #37826:
URL: https://github.com/apache/shardingsphere/issues/37826
1. Conclusion
Consider to use `enmotech/opengauss-lite:5.1.0` instead of
`opengauss/opengauss:3.1.0` in E2E, for:
- easy usage. Sometimes we need to login docker openGauss for troubleshooting
- default sql_compatibility for PostgreSQL
2. Usage details
- opengauss/opengauss:3.1.0
We must use long /usr/local/... prefix, else could not find `gsql`.
And use LD_LIBRARY_PATH, else run failure:
> error while loading shared libraries: libcjson.so.1: cannot open shared
object file: No such file or directory
```
[root@eb031fd89e36 /]# su - opengauss
[opengauss@eb031fd89e36 ~]$ export
LD_LIBRARY_PATH=/usr/local/opengauss/lib:$LD_LIBRARY_PATH
[opengauss@eb031fd89e36 ~]$ /usr/local/opengauss/bin/gsql -d postgres -U
gaussdb
Password for user gaussdb:
gsql ((openGauss 3.1.0 build ) compiled at 2023-02-17 16:13:51 commit 0 last
mr )
Non-SSL connection (SSL connection is recommended when requiring
high-security)
Type "help" for help.
openGauss=> SHOW sql_compatibility;
sql_compatibility
-------------------
A
(1 row)
```
- enmotech/opengauss-lite:5.1.0
```
root@4a965c766223:/# su - omm
omm@4a965c766223:~$ gsql -d postgres
gsql ((openGauss-lite 5.1.0 build b5a8d5b0) compiled at 2023-09-28 00:54:13
commit 0 last mr release)
Non-SSL connection (SSL connection is recommended when requiring
high-security)
Type "help" for help.
openGauss=# SHOW sql_compatibility;
sql_compatibility
-------------------
PG
(1 row)
```
3. sql_compatibility
- `A` means for `Oracle`
- `PG` means for `PostgreSQL`
One difference of sql_compatibility.
Found it in `CreateTableSQLGeneratorIT`.
We use `SELECT * FROM pg_get_tabledef ('schemaName.tableName')` to get
create definition SQL. The `DATE` column return different results in these two
sql_compatibility.
e.g.
- original column definition: `creation_date DATE`
- return `creation_date DATE` (the same as original definition), on `PG`
(enmotech/opengauss-lite:5.1.0 default value)
- return `creation_date timestamp(0) without time zone` (compatible with
Oracle), on `A` (opengauss/opengauss:3.1.0 default value)
4. Is it easy to change `sql_compatibility` in testcontainer?
Seems it's not easy to change it.
- When adding `default_sql_compatibility = 'PG'` in `postgresql.conf`,
openGauss container start failed.
- The recommended usage: `CREATE DATABASE my_db DBCOMPATIBILITY 'PG';`. It's
not suitable in our test cases.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail:
[email protected]
For queries about this service, please contact Infrastructure at:
[email protected]