You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Q: I'm getting the message "Table has no primary key". What's wrong?
A: Jailer cannot handle tables without a primary key. Exporting data is not possible if the subject table is associated with a
table without a primary key. In this case, you should manually define a primary key in the data model of the tool (not in the
database!) using the Data Model Editor. Note that a key must be unique.
(On Oracle, however, rowid-pseudo columns can be used instead of primary keys)
I suggest adding that similarly to Oracle's rowid-pseudo column the ctid system column in PostgreSQL can also be used as a virtual primary key of type tid.
A final identifier type used by the system is tid, or tuple identifier (row identifier). This is the data type of the system column ctid. A tuple ID is a pair (block number, tuple index within block) that identifies the physical location of the row within its table.
I have many-to-many join tables generated by Hibernate, which don't have primary keys generated but by using ctid I could make them work with jailer like this:
Maybe ctid could be also offered as an option similar to "Identity column (MS SQL)".
The text was updated successfully, but these errors were encountered:
Many thanks for the suggestion. I did not know the pseudo column "ctid" in PostgreSQL. It should be possible to use it in the same way as Oracle's rowid.
The FAQ (http://jailer.sourceforge.net/faq.html) has this question and answer:
I suggest adding that similarly to Oracle's rowid-pseudo column the
ctid
system column in PostgreSQL can also be used as a virtual primary key of typetid
.https://www.postgresql.org/docs/current/datatype-oid.html
A final identifier type used by the system is tid, or tuple identifier (row identifier). This is the data type of the system column ctid. A tuple ID is a pair (block number, tuple index within block) that identifies the physical location of the row within its table.
I have many-to-many join tables generated by Hibernate, which don't have primary keys generated but by using
![image](https://user-images.githubusercontent.com/1926265/98162735-1513e680-1ee2-11eb-9a20-bfd8f1ccef5e.png)
ctid
I could make them work with jailer like this:Maybe
ctid
could be also offered as an option similar to "Identity column (MS SQL)".The text was updated successfully, but these errors were encountered: