-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to execute PLR functions on new 9.6 install #19
Comments
Spaces in the file name. It is better to use c:/Progra~1/.... |
I just changed my environment variables per your suggestion, and restarted the server. Unfortunately, the error message is exactly the same as before. I checked
Any other suggestions? |
I have my own issues on windows... :( |
It gives the same error message as my first post. |
That suggests this is what PostgreSQL thinks is $libdir so installing PostgreSQL in something like C:\PostgreSQL or the like without spaces would be my first attempt to fix this |
It must be something else. I did try with my BigSQL install which has its lib dir with no spaces at:
Not to mention I have a perfectly functioning 9.4 installation in my Program Files directory on a different computer (Win 7 instead of 10, however). |
The fact that it didn't specifically mention plr.dll troubled me (the error just ended with plr). So I took all of the source files and put them in a folder called plr and placed it inside of the lib directory. Everything works perfectly after that. This wasn't required for my previous 9.4 install on Win7. Any idea why the dll itself isn't enough to get everything working as before? |
It seems my previous effort was only a temporary "fix". I ran many operations, including calls to my PLR functions, and then I rebooted my computer. After rebooting and attempting any PLR-related activities, I get a slightly new error:
I'm very confused at this point. Of course plr.dll is in that location, but I'm also wondering why the path suddenly involves the superfluous "../pg96/". |
So this path is from the bigsql implementation. As for could not be found this is of course related to some other module that can't be found. Windows is not very helpful here in narrowing down what exactly is missing but something is... |
BigSQL or EnterpriseDB... it's really just a 9.6/8.3.0.17 issue giving me the same behavior on both distros. The DLL released on GitHub allows PLR installation to a database, but then it fails to properly run PLR functions until I drop the source into .../lib/plr which works great until I reboot (or maybe just restart the process?) after which point it complains about not finding the plr.dll. 9.5/8.3.0.16 works perfectly on the same machine using the last plr.dll left on Joe Conway's website. I read some posts about needing to ensure the same Windows SDK being used to compile plr.dll as EnterpriseDB used during their Postgres compile. Maybe that's a diff between 8.3.0.16 and 8.3.0.17? I'm not sure. After some researching, I'm led to believe I should be using some kind of Windows debugging tool to figure out what's wrong with the 9.6 DLL on my machine, but I'm not yet sure how to attach it to my Postgres process. I found an older set of instructions for MSVS Express, but I'm not sure how closely the instructions relate to the Community edition. |
I just tried to build a 9.6 environment on a fresh Win7 machine. I've been able to replicate this issue using EnterpriseDB's 9.6 distro along with R 3.3.1 and plr 8.3.0.17. Here are the steps:
Messages:
Data Output:
This is the part I reached previously where dropping the whole contents of 8.3.0.17's source folder into I hope this helps others to replicate the issue and assist with troubleshooting. EDIT |
Yeah, no surprise that it does not work with BigSQL as I believe their version of Postgres is compiles with MinGW not MSVC. I have found in the past that PL/R need to be compiled using whatever Postgres itself is compiled with on Windows in order for everything to work as expected. |
I recently overcame an issue getting PLR installed. Now that everything is running, I went to run a PLR function and received an error:
SELECT load_r_typenames();
This particular error came from an EnterpriseDB 9.6 install, but I also received the same error (different path) for a BigSQL 9.6 install (I changed my env variables accordingly).
The error isn't very useful. The plr.dll file is certainly in the location specified. What could be making it inaccessible?
The text was updated successfully, but these errors were encountered: