Project Settings

Apart from global settings which are applied to the whole workspace, it is possible to adjust the settings of a separate project. To do this, select Properties from the project menu or use hotkey (Alt + Enter by default), then select pgCodeKeeper.

Project main settings

_images/main_props.png
  • Disable SQL parser for unrelated files opened in SQL Editor allows disabling pgCodeKeeper builder of the project files, which are beyond standard directories. This disables the search for errors and object references within these files.

  • Use Unix-style newline characters allows to use Unix hyphens in lines, for example, in function bodies, object commentaries etc.

  • Bind project to database connection - allows binding a project to a specific DB. It will be impossible to change DB to Eclipse tool bar for this project.

  • Timezone for all DB connections allows selecting, which time zone to use when connecting to databases. Not included for MS SQL projects.

  • Enable project specific settings - allows enabling some of the global settings for the current project.

    • Ignore privileges and owners of database objects - allows disabling the search for differences in the properties of the objects related to DB roles.

    • Ignore differences in table column order - allows to ignore the order of colums when comparing the tables.

    • Enable full dependencies from bodies of functions and procedures (experimental) - allows searching the dependences on functions and procedures within the bodies of other functions and procedures.

    • Simple formatting for VIEWs when reading via JDBC (not recommended by PostgreSQL) - allows using simplified view editing, where all unnecessary brackets are removed from the expression. This format might not be supported in the further PostgeSQL versions.

    • Format object code automatically allows display and save the formatted function code in plpgsql and sql according to the SQL Editor formatting settings. For more info about the code formatting settings, see Formatting.

    • Use global ignore list - allows enabling/disabling the usage of a global list of differences from the settings page Excluded objects.

Ignore Lists

Settings managing the lists of ignored files for current project. A detailed description of work with the lists see in Ignore List.

_images/ignore_props.png

Edit .pgcodekeeperignore allows changing the default ignored file located in the project’s root.

To add an existing file, click add_obj.

To delete a file, click delete.

To create a new file, click new_file. The list of rules editor will open, similar to the one on the Excluded objects global settings page.

_images/ignore_editor.png

To edit a file, click editor_area. The editor of list of rules from current file will open.

Ignored schemas

Settings that regulate the uploading of objects from the database. See the Ignoring schemas when downloading section for more details.

_images/ignored_schemas.png

Click add_obj to add a new object. A new object editor will open.

To delete an object, click delete.

If you need to change an object’s name, click the name and enter a new one.

Library dependences

Settings managing project libraries.

_images/lib_props.png

Libraries are plugged-in sets of object data which are “glued” with project objects during the comparison with the remote database. Directories (a regular directory with files as well as another pgCodeKeeper project), dumps or remote databases can serve as libraries. Besides, you can compress libraries into a zip-archive, upload them to a server and connect them by specifying the archive’s URL. To add libraries, use corresponding buttons on the side panel.

The libraries are loaded in the order in which they are indicated on the list (the topmost library will be loaded first). To change the order, use the mouse to drag the required elements.

Disallow overrides. There might be a situation when a project and a library (or two libraries) contain objects with the same names. There are two ways of processing such situations. When this settings is on, such conflicts will cause the object comparison to stop. When it’s off, it will allow you to ignore the conflicts: the first loaded object will be used. Regardless of the state of the settings, the Object overrides view will be displayed, showing all the conflicts.

Load nested dependencies is a setting that allows loading libraries referred to by other libraries (recursive loading of libraries). The library containing dependencies should be in the form of a project (or project archive) and contain the .dependencies file, which contains the dependencies of this library.

In general, to load the library dependencies, a container of this library should have the loadNested setting in the .dependencies file enabled. For example, in the following dependencies chain: project → lib1 → lib2 → lib3, to load lib2, the setting should be enabled in project, and to load lib3, the setting should be enabled both in project and lib1.

Clear libraries cache - allows to delete the downloaded archives from the cache.

Dialog window of creating/editing/copying the library dependency looks as follows.

_images/lib_props_editor.png
  • Name - allows to specify the library name that is going to be displayed (default name is Path).

  • Path - allows to specify the library’s source (supports relative paths).

  • Owner - allows setting a new owner for all the objects in the library.

  • Ignore privileges/owners - allows to disable privileges and owners of a library dependency objects.

Important

If a library already has an owner, this information will be displayed regardless of other pgCodeKeeper settings.

Important

If a library doesn’t ignore privileges, they will be displayed regardless of other pgCodeKeeper settings.

DB update

Database update managing settings, which allow enabling some of correlating settings from the DB update page.

_images/db_update_props.png