1.PostgreSQL SQL语句:使用关键字作为字段名的场合。在sql语句中需要将字段名使用双引号括起来,sql语句方可识别。
例如:
update test03.noa_connections set “user” = ‘test03’ where connectionid= 52389;
user去掉双引号的场合,出现以下错误:
ERROR: syntax error at or near “user”
LINE 1: update test03.noa_connections set user = ‘test03’ wher…
SQL state: 42601
Character: 38
2.执行pqlib method: PQexec()时出现错误: error:Permission denied for relation
解决方法:
ALTER TABLE test03.表名
OWNER to test03;
GRANT ALL ON TABLE test03.表名 TO test03;
GRANT SELECT ON TABLE test03.表名 TO ronly;
3.重置sequence 值的SQL statement: select setval(‘schema.sequenceName’, sequence值):
4.查询下一个sequence值的SQL statement: select nextval(‘schema.sequenceName’);
5.SQL statement: “CREATE TABLE schema.tableName(field list) with (FILLFACTOR = 85);”中的FILLFACTOR的使用含义:
一个表的填充因子(fillfactor)是一个介于 10 和 100 之间的百分数。100(完全填充)是默认值。如果指定了较小的填充因子,INSERT 操作仅按照填充因子指定的百分率填充表页。每个页上的剩余空间将用于在该页上更新行,这就使得 UPDATE 有机会在同一页上放置同一条记录的新版本,这比把新版本放置在其它页上更有效。对于一个从不更新的表将填充因子设为 100 是最佳选择,但是对于频繁更新的表,较小的填充因子则更加有效。PostgreSQL fillfactor参数详解可参照:https://blog.csdn.net/kmblack1/article/details/80860390
6.查看自己创建的表的SQL statement, 例: select * from pg_tables whete tableowner = ‘test03’;
7.查询schem的owner的SQL statement: select pg_catalog.pg_get_userbyid(nspowner) AS “Owner” from pg_catalog.pg_namespace where nspname = ‘test03’;