PostgreSQL database check #3933

Closed
opened 2025-11-02 05:31:02 -06:00 by GiteaMirror · 6 comments
Owner

Originally created by @Ahaus314 on GitHub (Sep 10, 2019).

  • Gitea version (or commit ref): 1.9.2
  • Git version: 2.13.3.windows.1
  • Operating system: Windows Server 2016
  • Database (use [x]):
    • PostgreSQL (PostgreSQL 11.1, compiled by Visual C++ build 1914, 64-bit)
    • MySQL
    • MSSQL
    • SQLite
  • Can you reproduce the bug at https://try.gitea.io:
    • Yes (provide example URL)
    • No
    • Not relevant
  • Log gist:
    2019/09/10 15:00:09 models/models.go:305:NewEngine() [W] Table user Column max_repo_creation db default is '-1'::integer, struct default is -1
    /go/src/code.gitea.io/gitea/models/models.go:305 (0x1099f98)
    /go/src/code.gitea.io/gitea/routers/init.go:52 (0x14631b1)
    /go/src/code.gitea.io/gitea/routers/init.go:83 (0x1463acf)
    /go/src/code.gitea.io/gitea/cmd/web.go:108 (0x1667819)
    /go/src/code.gitea.io/gitea/vendor/github.com/urfave/cli/app.go:490 (0x1175fee)
    /go/src/code.gitea.io/gitea/vendor/github.com/urfave/cli/command.go:210 (0x11771bc)
    /go/src/code.gitea.io/gitea/vendor/github.com/urfave/cli/app.go:255 (0x1174305)
    /go/src/code.gitea.io/gitea/main.go:109 (0x16771d7)
    /usr/local/go/src/runtime/proc.go:200 (0x433dfb)
    /usr/local/go/src/runtime/asm_amd64.s:1337 (0x4601d0)

2019/09/10 15:00:09 models/models.go:305:NewEngine() [W] Table user Column diff_view_style db default is '''::character varying', struct default is ''
/go/src/code.gitea.io/gitea/models/models.go:305 (0x1099f98) [...]

2019/09/10 15:00:09 models/models.go:305:NewEngine() [W] Table user Column theme db default is '''::character varying', struct default is ''
/go/src/code.gitea.io/gitea/models/models.go:305 (0x1099f98) [...]

2019/09/10 15:00:09 models/models.go:305:NewEngine() [W] Table webhook Column http_method db default is ''POST'::character varying', struct default is
/go/src/code.gitea.io/gitea/models/models.go:305 (0x1099f98) [...]

2019/09/10 15:00:09 models/models.go:305:NewEngine() [W] Table gpg_key column key_id db type is VARCHAR(16), struct type is CHAR(16)
/go/src/code.gitea.io/gitea/models/models.go:305 (0x1099f98) [...]

2019/09/10 15:00:09 models/models.go:305:NewEngine() [W] Table gpg_key column primary_key_id db type is VARCHAR(16), struct type is CHAR(16)
/go/src/code.gitea.io/gitea/models/models.go:305 (0x1099f98) [...]

2019/09/10 15:00:09 models/models.go:305:NewEngine() [W] Table gpg_key_import column key_id db type is VARCHAR(16), struct type is CHAR(16)
/go/src/code.gitea.io/gitea/models/models.go:305 (0x1099f98) [...]

2019/09/10 15:00:09 models/models.go:305:NewEngine() [W] Table commit_status column context_hash db type is VARCHAR(40), struct type is CHAR(40)
/go/src/code.gitea.io/gitea/models/models.go:305 (0x1099f98) [...]

Description

When Gitea start, it check the database structure and put some warns in the log file. The application works fine. We started to use Gitea 5 months ago and only updated since.
What I understand from those messages is when Gitea start, it check the database structure and if the definition does not match the expected one, the message is raised. The problem is that I can not change this because it is how PostgreSQL handle those default values. I saw three (3) issues from my environment (note that I tried to change the default values with pgAdmin GUI and command line to have the exact same as expected by Gitea).

  1. For empty string, you have to put '' then when saving, PostgreSQL convert it to ''::character varying (or globally, the default value followed by the cast ::, then the column type). If you do not put the '', the default value is just removed from the structure.

  2. It is the same thing with integer. If you enter a negative value, it will put it as a string, then cast it to integer like '-1'::integer.

  3. Finally, I have some VARCHAR <--> CHAR conversion here. We never changed the column type and I'm a bit surprised to received this message. Did Something change from an older version?

I also did not see any fixes regarding this in the 1.9.3 changelog. Is it possible to handle how PostgreSQL 11.1 handle the default values?

Do not hesitate if you need more information.

Thanks!

Screenshots

Here is a portion of the user table structure. Note the casting for -1 and '' and Nothing for the 0.
gitea_user

Originally created by @Ahaus314 on GitHub (Sep 10, 2019). <!-- NOTE: If your issue is a security concern, please send an email to security@gitea.io instead of opening a public issue --> <!-- 1. Please speak English, this is the language all maintainers can speak and write. 2. Please ask questions or configuration/deploy problems on our Discord server (https://discord.gg/gitea) or forum (https://discourse.gitea.io). 3. Please take a moment to check that your issue doesn't already exist. 4. Please give all relevant information below for bug reports, because incomplete details will be handled as an invalid report. --> - Gitea version (or commit ref): 1.9.2 - Git version: 2.13.3.windows.1 - Operating system: Windows Server 2016 - Database (use `[x]`): - [x] PostgreSQL (PostgreSQL 11.1, compiled by Visual C++ build 1914, 64-bit) - [ ] MySQL - [ ] MSSQL - [ ] SQLite - Can you reproduce the bug at https://try.gitea.io: - [ ] Yes (provide example URL) - [ ] No - [x] Not relevant - Log gist: 2019/09/10 15:00:09 models/models.go:305:NewEngine() [W] Table user Column max_repo_creation db default is '-1'::integer, struct default is -1 /go/src/code.gitea.io/gitea/models/models.go:305 (0x1099f98) /go/src/code.gitea.io/gitea/routers/init.go:52 (0x14631b1) /go/src/code.gitea.io/gitea/routers/init.go:83 (0x1463acf) /go/src/code.gitea.io/gitea/cmd/web.go:108 (0x1667819) /go/src/code.gitea.io/gitea/vendor/github.com/urfave/cli/app.go:490 (0x1175fee) /go/src/code.gitea.io/gitea/vendor/github.com/urfave/cli/command.go:210 (0x11771bc) /go/src/code.gitea.io/gitea/vendor/github.com/urfave/cli/app.go:255 (0x1174305) /go/src/code.gitea.io/gitea/main.go:109 (0x16771d7) /usr/local/go/src/runtime/proc.go:200 (0x433dfb) /usr/local/go/src/runtime/asm_amd64.s:1337 (0x4601d0) 2019/09/10 15:00:09 models/models.go:305:NewEngine() [W] Table user Column diff_view_style db default is '''::character varying', struct default is '' /go/src/code.gitea.io/gitea/models/models.go:305 (0x1099f98) [...] 2019/09/10 15:00:09 models/models.go:305:NewEngine() [W] Table user Column theme db default is '''::character varying', struct default is '' /go/src/code.gitea.io/gitea/models/models.go:305 (0x1099f98) [...] 2019/09/10 15:00:09 models/models.go:305:NewEngine() [W] Table webhook Column http_method db default is ''POST'::character varying', struct default is /go/src/code.gitea.io/gitea/models/models.go:305 (0x1099f98) [...] 2019/09/10 15:00:09 models/models.go:305:NewEngine() [W] Table gpg_key column key_id db type is VARCHAR(16), struct type is CHAR(16) /go/src/code.gitea.io/gitea/models/models.go:305 (0x1099f98) [...] 2019/09/10 15:00:09 models/models.go:305:NewEngine() [W] Table gpg_key column primary_key_id db type is VARCHAR(16), struct type is CHAR(16) /go/src/code.gitea.io/gitea/models/models.go:305 (0x1099f98) [...] 2019/09/10 15:00:09 models/models.go:305:NewEngine() [W] Table gpg_key_import column key_id db type is VARCHAR(16), struct type is CHAR(16) /go/src/code.gitea.io/gitea/models/models.go:305 (0x1099f98) [...] 2019/09/10 15:00:09 models/models.go:305:NewEngine() [W] Table commit_status column context_hash db type is VARCHAR(40), struct type is CHAR(40) /go/src/code.gitea.io/gitea/models/models.go:305 (0x1099f98) [...] ## Description When Gitea start, it check the database structure and put some warns in the log file. The application works fine. We started to use Gitea 5 months ago and only updated since. What I understand from those messages is when Gitea start, it check the database structure and if the definition does not match the expected one, the message is raised. The problem is that I can not change this because it is how PostgreSQL handle those default values. I saw three (3) issues from my environment (note that I tried to change the default values with pgAdmin GUI and command line to have the exact same as expected by Gitea). 1. For empty string, you have to put '' then when saving, PostgreSQL convert it to ''::character varying (or globally, the default value followed by the cast ::, then the column type). If you do not put the '', the default value is just removed from the structure. 2. It is the same thing with integer. If you enter a negative value, it will put it as a string, then cast it to integer like '-1'::integer. 3. Finally, I have some VARCHAR <--> CHAR conversion here. We never changed the column type and I'm a bit surprised to received this message. Did Something change from an older version? I also did not see any fixes regarding this in the 1.9.3 changelog. Is it possible to handle how PostgreSQL 11.1 handle the default values? Do not hesitate if you need more information. Thanks! ## Screenshots Here is a portion of the user table structure. Note the casting for -1 and '' and Nothing for the 0. ![gitea_user](https://user-images.githubusercontent.com/28545914/64646361-f0f36d00-d3e4-11e9-9e0b-9e8d534737b9.PNG) <!-- **If this issue involves the Web Interface, please include a screenshot** -->
GiteaMirror added the issue/stale label 2025-11-02 05:31:02 -06:00
Author
Owner

@lunny commented on GitHub (Sep 12, 2019):

Which version of your postgreSQL?

@lunny commented on GitHub (Sep 12, 2019): Which version of your postgreSQL?
Author
Owner

@Ahaus314 commented on GitHub (Sep 16, 2019):

The version is PostgreSQL 11.1, compiled by Visual C++ build 1914, 64-bit (so under Windows Server) as stated in the description.
Thanks

@Ahaus314 commented on GitHub (Sep 16, 2019): The version is PostgreSQL 11.1, compiled by Visual C++ build 1914, 64-bit (so under Windows Server) as stated in the description. Thanks
Author
Owner

@Ahaus314 commented on GitHub (Nov 1, 2019):

Nothing new on that issue?

@Ahaus314 commented on GitHub (Nov 1, 2019): Nothing new on that issue?
Author
Owner

@lunny commented on GitHub (Nov 1, 2019):

They are just wrong warning logs and this is a bug of XORM.

@lunny commented on GitHub (Nov 1, 2019): They are just wrong warning logs and this is a bug of XORM.
Author
Owner

@stale[bot] commented on GitHub (Dec 31, 2019):

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs during the next 2 weeks. Thank you for your contributions.

@stale[bot] commented on GitHub (Dec 31, 2019): This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs during the next 2 weeks. Thank you for your contributions.
Author
Owner

@stale[bot] commented on GitHub (Jan 14, 2020):

This issue has been automatically closed because of inactivity. You can re-open it if needed.

@stale[bot] commented on GitHub (Jan 14, 2020): This issue has been automatically closed because of inactivity. You can re-open it if needed.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/gitea#3933