F.A.Q. Frequently asked questions

General questions

Where to get JDK? What is it for? How to install?

PgCodeKeeper is an addition to the Eclipse platform, which uses Java Virtual Machine for application start. You can install both JRE and JDK depending on your Eclipse build. If you plan to develop products in Java in your build, probably the best choice would be using JDK instead of JRE.
At the moment it is better to install JDK 1.8.
Learn more: https://wiki.eclipse.org/Eclipse/Installation#Install_a_JVM


What is the Eclipse for?

The Eclipse is a «tool for developing tools».
The Eclipse platform is a basis for constructing and starting the integrated development tools. It consists of the components with the open source code.
Using the Eclipse allows us to concentrate on the implement of the requested product`s business functions without the necessity to implement the application helper functions (provided by the Eclipse).
Learn more: https://www.ibm.com/developerworks/ru/library/os-eclipse/


Problem with displaying a user interface in GNU/Linux

Problems with displaying elements of the Eclipse user interface have been found out on some working places running GNU/Linux and GTK3.
To troubleshoot you can forbid the Eclipse platform to use GTK3. You can do this setting the SWT_GTK3 environment variable equal to zero.

SWT_GTK3=0 eclipse

Learn more: https://wiki.archlinux.org/index.php/eclipse#Disable_GTK.2B_3


License file maintenance

After getting the license file you must copy the license to some safe place on the local computer, where pgCodeKeeper is run. In the application settings (Window — Preferences — pgCodeKeeper — License) you need to choose the path to the preliminarily saved license file.
The license file is not maintained by the application (that is it is not copied into the internal application structures); the responsibility for the license files safety rests entirely with the end user.


Why do I need to specify the encoding when creating a project?

Project files are created with the encoding used by the operating system by default. It is Windows-1251 for Windows and UTF8 — for GNU/Linux. If the DB encoding differs from the local one on the user's computer, it can happen that the national symbols will be displayed in the project incorrectly or will be lost. To avoid this make sure that the project files encoding corresponds with the database encoding.


What time zone to choose?

If you develop on working places situated in different time zones, you should choose the same time zone for all computers. Otherwise, part of the DDL code, received from the DB, can differ on the users' computers (e.g. where the string literals are used in the function of time tag constants).
By default, JDBC-driver installs the connection time zone into the local computer time zone (not the DB server), that's why it is important to set the same time zone in the project explicitly.


Dealing with line breaks.

The project is created with the option of using the line breaks in the Unix style. It is done to unify several users' work on the project files on potentially different operating systems.
If you use GIT, don't forget to switch on the line endings' convertion setting in your Unix-style project:

text eol=lf

Note: https://help.github.com/articles/dealing-with-line-endings/


Making changes in the project, potential problems

Project files follow the predefined structure and naming rules. If you create project files manually or edit the existing ones, you can potentially create a situation when the parser won't be able to handle the modified files.
Anyway, if you want to use pgCodeKeeper in the function of an editor — create new objects in the DB, but edit them in the project. It will save you from potential mistakes when creating files or DB objects' checksums.

Haven't found the answer to the right question? Write to the technical support service, and we will definitely reply.